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