jjzjj

ruby - 如何解决错误消息 "Cannot find module ' abbrev'

我的问题与HowdoIresolve"Cannotfindmodule"errorusingNode.js?非常相似,但我无法使用给出的答案中提供的信息解决我的问题。我尝试运行UNCSSgrunt插件,但是当我尝试安装它时(npminstallgrunt-uncss--save-dev),我收到以下错误:$npminstallgrunt-uncss--save-devmodule.js:340throwerr;^Error:Cannotfindmodule'abbrev'atFunction.Module._resolveFilename(module.js:338:15)atFunc

ruby-on-rails - 如何在 RSpec 中包含多个模块?

我不确定将几个模块包含到RSpec中的方式,所以让我描述一下我的情况。在app/helpers下,我有两个带有助手的文件,包含模块ApplicationHelper和MailersHelper。尽管这些是我在我的View和邮件中使用的View助手,但我也在我的测试中使用了它们的一些方法,因此它们必须可以在describe子句中访问。在app/spec/mailers下,我还有一个文件,包含模块Helpers。该模块包含仅在测试中使用的方法(主要是长期期望的包装方法)。此外,我还有以下代码:classHelpersincludeSingletonincludeActionView::He

ruby-on-rails - 如何在 Ruby 中封装包含的模块方法?

我希望能够在包含该模块的类无法访问的模块中拥有方法。给定以下示例:classFooincludeBardefdo_stuffcommon_method_nameendendmoduleBardefdo_stuffcommon_method_nameendprivatedefcommon_method_name#blahblahendend我希望Foo.new.do_stuff爆炸,因为它试图访问模块试图对其隐藏的方法。不过,在上面的代码中,Foo.new.do_stuff可以正常工作:(有没有办法在Ruby中实现我想做的事情?更新-真正的代码classPlace"Place"}has_

ruby - 你如何断言另一个 ruby​​ 模块的异常被抛出? (使用 assert_throws)

我正在尝试编写这样的代码:assert_throws(:ExtractionFailed){unit.extract_from('5x2005')}ExtractionFailed是Exception的一个简单子(monad)类,在test/unit下,我试图断言它在我调用unit.extract_from(...坏数据...)我已经将ExtractionFailed移动到SemanticText模块中,所以现在test/unit说:expectedtobethrownbutwasthrown.我尝试编写assert_throws(:SemanticText::ExtractionFa

ruby - 在类/模块中加载外部文件

我有一个外部文件:path_to_external_file.rb带有一些类定义:classAsome_definitionsend我想在模块B中加载它,以便上面定义的类A可以称为B::A。我试过:classBload('path_to_external_file.rb')end但是A是在主环境中定义的,而不是在B中定义的:A#=>AB.constants#=>[]如何在某些类/模块中加载外部文件?编辑我是否应该将外部文件作为字符串读取,并在Class.new{...}中评估它们,然后在B中include该类? 最佳答案 你不能。至

ruby - AASM:将状态机定义与类定义分开

假设我有这个类(直接取自aasm文档):classJobtruestate:runningstate:cleaningevent:rundotransitions:from=>:sleeping,:to=>:runningendevent:cleandotransitions:from=>:running,:to=>:cleaningendevent:sleepdotransitions:from=>[:running,:cleaning],:to=>:sleepingendendend我不太喜欢将状态机定义与类定义混合在一起的事实(当然,在实际项目中,我会向Job类添加更多方法)。我

ruby-on-rails - 了解 `include` mixin 模块的 "subsequent"语句行为

我试图理解include语句在多个Mixin中使用时的行为。也就是说,我有这些声明:classArticleDoubleIncludedModule将被包含在Article类中多少次?也就是说,由于DoubleIncludedModule的“后续”包含(首先在Article类中,然后在Article包含的AModule中类本身),将是Ruby自动处理的“双重包含”问题,还是DoubleIncludedModule(错误地)包含两次?当然,我想包含DoubleIncludedModule模块仅一次。我怎样才能以正确的方式做到这一点(也许通过使用一些RubyonRails方法)?

ruby - 类与 Class.new,模块与 Module.new

class之间有什么区别?和Class.new&module和Module.new?我知道:Class.new/Module.new创建一个匿名class/module.当我们第一次将它分配给常量时,它变成了那个class的名称。/module.class/module自动执行此操作。当我们想要继承时,我们可以传递一个参数:Class.new(ancestor).当我们不指定祖先时,它被设置为Object.class使用此语法:classAClass.new返回object.classA返回nil.同样适用于module秒。我错过了什么吗? 最佳答案

ruby-on-rails - 如何为模型/ View / Controller 以外的文件编写/运行规范

当我对模型/View/Controller使用railsgenerate命令时,使用rails和rspec很容易让rspec为我生成必要的文件。但是现在我想为我编写的模块编写规范。该模块位于/lib/my_module.rb中,因此我在/spec/lib/my_module_spec.rb中创建了一个规范我遇到的问题是,当我尝试执行rspecspec/时,文件my_module_spec.rb已运行,但在中引用了我的模块找不到lib/my_module.rb。执行此操作的正确方法是什么?仅供引用,my_module_spec.rb文件中已经包含require'spec_helper'r

ruby - ruby 中嵌套模块定义和 using::in 定义有什么区别?

这之间有什么区别:moduleOutermoduleInnerclassFooendendend还有这个:moduleOuter::InnerclassFooendend我知道如果Outer之前没有定义,后一个例子将不起作用,但是在恒定范围内还有一些其他差异,我可以在SO或文档中找到它们的描述(包括ProgrammingRuby书) 最佳答案 感谢keymone的answer我制定了正确的Google查询并发现了这个:Module.nestingandconstantnameresolutioninRuby使用::更改常量作用域解析