lib/command_line/flag.rb in wvanbergen-request-log-analyzer-0.2.2 vs lib/command_line/flag.rb in wvanbergen-request-log-analyzer-0.3.0

- old
+ new

@@ -4,19 +4,23 @@ class Flag attr_reader :name attr_reader :alias attr_reader :argument + attr_reader :default + attr_reader :multiple # Initialize new Flag # <tt>name</tt> The name of the flag # <tt>definition</tt> The definition of the flag. def initialize(name, definition) @name = name.to_s.gsub(/_/, '-').to_sym @alias = definition[:alias].to_sym if definition[:alias] @required = definition.has_key?(:required) && definition[:required] == true @argument = definition[:expects] if definition[:expects] + @multiple = definition[:multiple] || false + @default = definition[:default] if definition[:default] end # Argument representation of the flag (--fast) def to_argument "--#{@name}" @@ -33,9 +37,17 @@ end # Check if flag is optional def optional? !@required + end + + def multiple? + @multiple + end + + def default? + !@default.nil? end # Check if flag is required def required? @required \ No newline at end of file