for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
require 'thor'
class TestCLI < Thor
desc 'foo', 'Command'
def foo
puts '{}'
end
desc 'bar', 'Command'
method_options baz: :string
def bar(corge)
puts options[:baz]
puts corge
describe 'test app' do
def app
RackThor.new(TestCLI).router
it 'can run a simple command' do
post '/foo'
expect(last_response).to be_ok
expect(last_response.body).to eq("{}\n")
it 'can run a command with options' do
post '/bar', {args: ['grault'], options: {baz: 'quux'}}
expect(last_response.body).to eq("quux\ngrault\n")