class Corzinus::StepGenerator

Public Instance Methods

add_step_command() click to toggle source
# File lib/generators/corzinus/step_generator.rb, line 46
def add_step_command
  @step_name = step_name.underscore
  @step_class = @step_name.camelize
  template 'generate_step/command_step.rb', "app/commands/corzinus/checkout/#{step_name.underscore}_step.rb"
end
add_step_service() click to toggle source
# File lib/generators/corzinus/step_generator.rb, line 41
def add_step_service
  @step_class = step_name.underscore.camelize
  template 'generate_step/access_service.rb', "app/services/corzinus/checkout/#{step_name.underscore}_access_service.rb"
end
add_step_view() click to toggle source
# File lib/generators/corzinus/step_generator.rb, line 52
def add_step_view
  @step_class = step_name.underscore.camelize
  template 'generate_step/step.html.haml', "app/views/corzinus/checkouts/#{step_name.underscore}.html.haml"
end
add_to_checkout_steps() click to toggle source
# File lib/generators/corzinus/step_generator.rb, line 34
def add_to_checkout_steps
  steps = new_checkout_steps(current_steps)
  gsub_file initializer_path, /config.checkout_steps.*/ do
    "config.checkout_steps = #{steps}"
  end
end

Private Instance Methods

current_steps() click to toggle source
# File lib/generators/corzinus/step_generator.rb, line 67
def current_steps
  step_string = initializer_file.grep(/config.checkout_steps/).first
  raise 'BlankCorzinusInitializer' if step_string.blank?
  steps = eval(step_string.scan(/\[.*\]/).first)
  raise 'LargePositionForSteps' if step_position.to_i > steps.size
  steps
end
initializer_file() click to toggle source
# File lib/generators/corzinus/step_generator.rb, line 75
def initializer_file
  File.readlines(initializer_path)
end
initializer_path() click to toggle source
# File lib/generators/corzinus/step_generator.rb, line 79
def initializer_path
  'config/initializers/corzinus.rb'
end
new_checkout_steps(steps) click to toggle source
# File lib/generators/corzinus/step_generator.rb, line 59
def new_checkout_steps(steps)
  case step_position
  when 'default' then steps.insert(-3, step_name.to_sym)
  when 'first' then steps.unshift(step_name.to_sym)
  else steps.insert(step_position.to_i, step_name.to_sym)
  end
end