如何从捆绑控制台使用thor操作?

时间:2016-11-16 17:38:46

标签: ruby bundler thor

有时我使用bundle console加载一个控制台,其中包含项目的依赖关系和测试API使用情况。

所以我的问题是:如何从捆绑控制台中测试thor's actions ask

1 个答案:

答案 0 :(得分:0)

如果您的gemspec文件中包含thor依赖项,则可以使用bundler的控制台。

cat limarka.gemspec

(...)

Gem::Specification.new do |spec|
  (...)
  spec.add_development_dependency "bundler", "~> 1.12"
  (...)
  spec.add_dependency "thor"
  (...)
end

当您键入bundle console时,它会将所有gem依赖项加载到控制台中:

$ bundle console
Resolving dependencies...

现在要运行Thor的操作,您需要创建包含该操作的类的实例。 ask操作来自Thor::Shell::Basic,所以这里是调用它的代码:

irb(main):001:0> city = Thor::Shell::Basic.new.ask "Type name of your city:"
Type name of your city: João Pessoa
=> "João Pessoa"
irb(main):002:0> city
=> "João Pessoa"
irb(main):003:0>