Sha256: c10c81476b4a0ed080d0cb3ae60281522c5fe3f182dae6fb1fd2a351dac7f34e

Contents?: true

Size: 678 Bytes

Versions: 2

Compression:

Stored size: 678 Bytes

Contents

module Relish
  module Command
    module Dsl
      
      def option(name, options = {})
        name = name.to_s
        default_proc = options[:default] || Proc.new {}
        
        define_method(name) do
          cli_options[name] ||
          local_options_file[name] ||
          global_options_file[name] ||
          instance_exec(&default_proc)
        end
        
        option_names << name
        option_names_to_display << name unless options[:display] == false
      end
      
      def option_names
        @@option_names ||= []
      end
      
      def option_names_to_display
        @@option_names_to_display ||= []
      end
      
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
relish-0.0.8 lib/relish/commands/dsl.rb
relish-0.0.7 lib/relish/commands/dsl.rb