草庐IT

code-reuse

全部标签

ruby-on-rails - Rails 2.3.5 : How does one access code inside of lib/directory/file. rb?

我创建了一个文件,这样我就可以在lib/foo/bar_woo.rb中的许多模型之间共享一个方法。在bar_woo.rb中,我定义了以下内容:moduleBarWoodefhelloputs"hello"endend然后在我的模型中我正在做类似的事情:defMyModel解释器提示它期望bar_woo.rb定义Foo::BarWoo。《使用Rails进行敏捷Web开发》一书指出,如果文件包含类或模块,并且文件使用类或模块名称的小写形式命名,那么Rails将自动加载文件。因此我不需要它。定义代码的正确方法是什么,在我的模型中调用代码的正确方法是什么? 最佳答案

ruby 单元测试 : run some code after each failed test

在Test::Unit中的ruby​​单元测试断言失败后,在执行teardown之前,是否有一些简洁优雅的方法来立即执行我的代码?我正在做一些自动化的GUI测试,并希望在出现问题后立即截图。 最佳答案 如果您使用的是1.9,请不要使用Test::Unit::TestCase作为您的基类。对其进行子类化并覆盖#run_test以进行救援,截取屏幕截图并重新提出:classMyAbstractTestCase或者,我认为这实际上是最简洁的方法,您可以使用before_teardownHook:classMyTestCase这不适用于1.

ruby - 如何将字符串格式的毫秒数转换为 HH :MM:SS format in Ruby in under 3 lines of code?

@scores_raw.eachdo|score_raw|#belowiscodeiftimewasbeingsentinmillisecondshh=((score_raw.score.to_i)/100)/3600mm=(hh-hh.to_i)*60ss=(mm-mm.to_i)*60crumbs=[hh,mm,ss]sum=crumbs.first.to_i*3600+crumbs[1].to_i*60+crumbs.last.to_i@scoressum,:hms=>hh.round.to_s+":"+mm.round.to_s+":"+ss.round.to_s}@score

ruby-on-rails - 如何防止错误 "code converter not found (UTF-8)"?

我在生产环境(CentOS5.6)中遇到此错误,但在开发环境(Ubuntu11.04)中运行良好。在这两种环境中,该应用程序都使用Ruby1.9.3和Rails3.0.9,并由passenger和nginx提供服务。我的Mechanizegem版本是2.3。未找到代码转换器(UTF-8)此代码的最后一行触发它:mech=Mechanize.newpage=mech.get("http://myurl.com/login.php?login_name=a&password=b")form=page.form_with(:name=>"loginForm")form.field_with(

ruby - block 看不到方法( Chef 资源)

假设我们有两个资源:template'template1'doowner'root'group'root'endtemplate'template2'doowner'root'group'root'end我想在资源中重用代码。但是,如果我在配方中定义了一个过程,您会得到owner、group等的NoMethodError。为什么会这样?词法范围没有什么不同,是吗?因此,我必须使用self.instance_eval&common_cfg。common_cfg=Proc.new{owner'root'group'root'}template'template1'docommon_cfg.

ruby-on-rails - 运行 Heckle 时出错? `current_code' : undefined method `translate' for Ruby2Ruby

我正在尝试运行Heckle,但一直出现错误:>specspec/controllers/my_controller_spec.rb--heckleMyController!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!exception=hasathickskin.There'snothingtoheckle.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(Runsthroughseveralmu

ruby-on-rails - 如何从 Visual Studio Code 运行和调试 Ruby on Rails?

如何使用内置的VisualStudioCode启动/调试功能启动RubyonRails?如何修复Debuggerterminalerror:Processfailed:spawnrdebug-ideENOENT错误? 最佳答案 设置和启动安装VSCodeRubyplugin(在macOS上按⌘+⇧+P或ctrl+⇧+P别处并在提示中输入extinstall,然后搜索ruby)安装一些必需的Rubygemgeminstallruby-debug-idegeminstalldebase添加launchconfiguration在Visu

ruby-on-rails - 有没有 "Code Complete"的 Ruby 书?

我开始阅读“代码完整”第2版这本书,但当我注意到大多数解决方案都可以使用Ruby惯用法在Ruby中轻松解决时,我停止了阅读。有没有类似的Ruby书籍?这是我开始阅读的版本:http://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670 最佳答案 把那本书拿回来,从你离开的地方开始。作为阅读第一版并且最近以编写Ruby为生的人,我可以自信地说CodeComplete的类(class)是通用的。那本书中关于良好代码构造的智慧-质量命名、解

ruby - 不同 Ruby 项目之间代码重用的最佳实践是什么?

伙计们!我是一名具有Java背景的软件开发人员,我正在使用Ruby网络框架(Padrino/Sinatra)开始一些项目。在我的java项目中,我通常有一些“公共(public)”项目,其类在多个项目中使用。例如,我有一个中央身份验证服务和一个存储用户配置文件的共享数据库。我所有使用此服务的项目都共享一些映射到用户配置文件数据库的模型。那么,尽管有框架、orm库等,跨多个Ruby项目共享代码的最佳方式是什么? 最佳答案 除此之外,ruby'sgems是重用代码公共(public)部分的最佳方式之一。Gem具有名称、版本号和描述,因此

ruby - 为什么在 Ruby 中使用类变量被视为 'code smell' ?

根据Reek,创建类变量被认为是“代码味道”。这背后的解释是什么? 最佳答案 您可以在他们关于ClassVariables的文档中找到:Classvariablesformpartoftheglobalruntimestate,andassuchmakeiteasyforonepartofthesystemtoaccidentallyorinadvertentlydependonanotherpartofthesystem.Sothesystembecomesmorepronetoproblemswherechangingsomet