module Acclimate::CliHelper

Public Class Methods

included( base ) click to toggle source
# File lib/acclimate/cli_helper.rb, line 4
def self.included( base )
  base.class_eval do
    include Acclimate::Output

    no_commands do

      def execute( klass, additional_options={} )
        klass.new( options.merge( additional_options )).execute
      rescue Acclimate::Error => e
        handle_error( e ) unless e.handled?
        exit( e.exit_code || 1 )
      end

      def handle_error( e )
        say "Error: #{e.message}", :red
      end

    end
  end

  base.extend ClassMethods
end

Public Instance Methods

execute( klass, additional_options={} ) click to toggle source
# File lib/acclimate/cli_helper.rb, line 10
def execute( klass, additional_options={} )
  klass.new( options.merge( additional_options )).execute
rescue Acclimate::Error => e
  handle_error( e ) unless e.handled?
  exit( e.exit_code || 1 )
end
handle_error( e ) click to toggle source
# File lib/acclimate/cli_helper.rb, line 17
def handle_error( e )
  say "Error: #{e.message}", :red
end