Class: RailsPlan::Cli::Processor

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_plan/cli/processor.rb

Constant Summary collapse

COMMANDS =
%w[start apply].freeze
InvalidCommand =
Class.new(StandardError)
InvalidUid =
Class.new(StandardError)

Instance Method Summary collapse

Constructor Details

#initialize(args) ⇒ Processor

Returns a new instance of Processor.



11
12
13
14
# File 'lib/rails_plan/cli/processor.rb', line 11

def initialize(args)
  @command = args[0]
  @uid = args[1]
end

Instance Method Details

#callObject

Raises:



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/rails_plan/cli/processor.rb', line 16

def call
  validate_command

  raise InvalidUid, "Bootstrap plan or feature not found for #{@uid}" if json_template.nil?

  if @command == 'start'
    ::RailsPlan.start(json_template)
  elsif @command == 'apply'
    ::RailsPlan.apply(json_template)
  end
end