class PowerStencil::CommandProcessors::Shell

Public Instance Methods

execute() click to toggle source
# File lib/power_stencil/command_processors/shell.rb, line 12
def execute

  working_universe = if config[:compiled]
                       project.engine.root_universe.compile scenario: config[:scenario]
                     else
                       project.engine.root_universe

                     end

  context = project.engine.running_context working_universe

  require 'pry'

  Pry.hooks.add_hook(:before_session, "startup_message") do
    puts config[:shell_dsl][:session_greetings]
  end

  msg = 'Changes done in PowerStencil shell session.'
  project.track_action_with_git(msg,
                                user_validation_required: true,
                                validation_message: 'Would you like to commit your changes ?',
                                show_files_to_commit: true) do
    Pry.start context,
              prompt: [proc { config[:shell_dsl][:prompt_level_1] }, proc { config[:shell_dsl][:prompt_level_2] }],
              quiet: true
  end

end