class Akashiyaki::Cli

Public Class Methods

mode(mode, start, finish) click to toggle source
# File lib/akashiyaki/cli.rb, line 12
def mode(mode, start, finish)
  desc "#{mode} ACTION [options]", "#{start}/#{finish}"
  subcommand mode, command_class(mode, start, finish)
end

Private Class Methods

command_class(mode, start, finish) click to toggle source
# File lib/akashiyaki/cli.rb, line 19
def command_class(mode, start, finish)
  Class.new(Thor).tap do |c|
    c.desc "start [options]", start
    c.send(:define_method, :start) do
      Command.new(
        mode,
        :start,
        AccountParser.new(options).parse
      ).run
    end

    c.desc "finish [options]", finish
    c.send(:define_method, :finish) do
      Command.new(
        mode,
        :finish,
        AccountParser.new(options).parse
      ).run
    end
  end
end