草庐IT

Node.js模块系统

全部标签

ruby - 我可以覆盖 Ruby 中的系统时区吗?

我在Ubuntu12.04上,我可以看到:$cat/etc/timezoneAmerica/Phoenix相应地,Time将返回一个非UTC时区的时间:$irb>Time.now=>2013-03-2713:44:49-0700>Time.at0=>1969-12-3117:00:00-0700我可以使用TZ环境变量覆盖系统时区:$TZ=UTCirb>Time.now=>2013-03-2720:47:19+0000>Time.at0=>1970-01-0100:00:00+0000无论如何,我可以在Ruby进程中以编程方式进行此更改吗? 最佳答案

ruby - 如何使用 Ruby 将键盘和鼠标命令发送到底层操作系统?

是否有操作系统中立的方式让Ruby将键盘和鼠标事件发送到底层操作系统?(对我而言)一个明显的方法是使用Ruby/Java绑定(bind)并使用java.awt.Robot,但这看起来很愚蠢。 最佳答案 对于Mac:geminstallrb-appscript然后你可以用这样的脚本来测试它:require"rubygems"require"appscript"includeAppscriptapp("TextEdit").activateapp("SystemEvents").keystroke("LookMa,keystrokes!

ruby-on-rails - 不理解类、模块和类 << self 方法

我有以下代码:classMyClassmoduleMyModuleclass当我调用方法时myfunction像这样,它工作正常:>me=MyClass::MyModule.myfunction=>"Nathan">me=>"Nathan"但是如果我删除了class并添加self.myfunction的前缀,它不起作用。例如:classMyClassmoduleMyModuleattr_accessor:first_namedefself.myfunctionMyModule.first_name="Nathan"endendend>me=MyClass::MyModule.myfun

ruby - Jekyll 默认使用系统 Ruby 版本而不是 RVM 版本

我已经查看了数十篇关于此的帖子,但仍然不太明白/没有找到相同的情况。基本上,我有默认设置为Ruby2.0.0的RVM,但是当我使用我的Jekyll页面进入目录并运行时jekyllserve结果是/Library/Ruby/Site/1.8/rubygems/dependency.rb:298:in`to_specs':Couldnotfind'jekyll'(>=0)among5totalgem(s)(Gem::LoadError)from/Library/Ruby/Site/1.8/rubygems/dependency.rb:309:in`to_spec'from/Library/

ruby - 在类中包含模块并执行代码

这是我以前上过的课classSomething#Definesthevalidatesclassmethods,whichiscalleduponinstantiationincludeModulevalidates:namevalidates:dateend我现在有几个使用相同功能的对象,更糟糕的是,有几个定义相似事物的对象,如下所示:classAnotherthing#Definesthevalidatesclassmethods,whichiscalleduponinstantiationincludeModulevalidates:ageend我想“重用”这些类的内容,所以我把

ruby - 如何在 Node.js/RoR 中监控 20 个网站(Ping 或 HTTP)的正常运行时间

每5分钟(例如)ping20个网站的列表以了解该网站是否响应HTTP202的最佳方法是什么?最简单的想法是将20个URLS保存在数据库中,然后运行数据库并对每个URL执行ping操作。但是,当一个人不回答时会发生什么?之后的人会怎样?此外,是否有更好但更简单的解决方案?恐怕该列表会增长到20000个网站,然后没有足够的时间在我需要ping的5分钟内全部ping通它们。基本上,我是在描述PingDom、UptimeRobot等的工作原理。我正在使用node.js和RubyonRails构建这个系统。我也倾向于使用MongoDB来保存所有ping和监控结果的历史记录。建议?非常感谢!

ruby - 引用与类同名的模块中的方法

我有一个同名的类和一个模块:modulePushoverdefconfigure..endendmoduleMyModuleclassPushoverdefblahPushover.configureendendend这不起作用,因为Pushover.configure调用指向包含类。现在,一个明显的解决方法是重命名该类。但是,模块来自gem,并且类符合DSL中要求的命名约定。所以理想情况下,它们应该保持不变。我还可以创建第二个帮助程序类并通过它进行调用,但这一切看起来有点老套。我的首选解决方案是直接引用模块方法。围绕这个领域的所有现有问题似乎都在相反的方向上消除歧义——即他们想要获得

ruby-on-rails - 模块的 Rails 未定义方法

在Rails中,如何使用模块中的特定方法。例如,#./app/controllers/my_controller.rbclassMyControllerMyController包含MyModule。在action中,我想使用MyModule.a_method(请注意我在MyController中也有一个私有(private)的a_method并且我不我想用这个。)我尝试过的事情:1)将模块中的方法定义为self.defself.a_methodend2)在Controller中使用::表示法(MyModule::a_method)我不断收到的错误是MyModule:module的未定义

ruby - 如何改进 Ruby 中的模块方法?

您可以使用优化您的类(class)moduleRefinedStringrefineStringdodefto_boolean(text)!!(text=~/^(true|t|yes|y|1)$/i)endendend但是如何细化模块方法呢?这:moduleRefinedMathrefineMathdodefPI22/7endendend引发:TypeError:错误的参数类型模块(预期类) 最佳答案 这段代码可以工作:moduleMathdefself.piputs'originalmethod'endendmoduleRefin

ruby - 如何等待系统命令结束

我正在使用Ruby中的系统命令转换XLS2CSV文件。转换后我正在处理CSV文件,但是当程序要处理文件时转换仍在运行,所以那时它们不存在。谁能告诉我是否可以让Ruby等待系统命令完成的正确时间?现在我正在使用:sleep20但是如果一次要花更长的时间,那当然是不对的。我具体做的是这样的:#Callontheprogramtoconvertxlscommand="C:/Development/Tools/xls2csv/xls2csv.exeC:/TDLINK/file1.xls"system(command)do_stuffdefdo_stuff#Thisiswhereiusefile