Class: Rake::TaskArguments
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Instance Chain:
self,
Enumerable
|
|
Inherits: | Object |
Defined in: | lib/rake/task_arguments.rb |
Overview
TaskArguments
manage the arguments passed to a task.
Class Method Summary
-
.new(names, values, parent = nil) ⇒ TaskArguments
constructor
Create a TaskArgument object with a list of argument #names and a set of associated
values
.
Instance Attribute Summary
-
#names
readonly
Argument names.
Instance Method Summary
-
#[](index)
Find an argument value by name or index.
-
#each(&block)
Enumerates the arguments and their values.
-
#extras
Retrieve the list of values not associated with named arguments.
-
#has_key?(key) ⇒ Boolean
Returns true if
key
is one of the arguments. -
#method_missing(sym, *args)
Returns the value of the given argument via method_missing.
-
#new_scope(names)
Create a new argument scope using the prerequisite argument names.
-
#to_a
Retrieve the complete array of sequential values.
-
#to_hash
Returns a Hash of arguments and their values.
-
#values_at(*keys)
Extracts the argument values at
keys
-
#with_defaults(defaults)
Specify a hash of default values for task arguments.
Constructor Details
.new(names, values, parent = nil) ⇒ TaskArguments
Create a TaskArgument object with a list of argument #names and a set of associated values
. parent
is the parent argument object.
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(sym, *args)
Returns the value of the given argument via method_missing
# File 'lib/rake/task_arguments.rb', line 64
def method_missing(sym, *args) lookup(sym.to_sym) end
Instance Attribute Details
#names (readonly)
Argument names
# File 'lib/rake/task_arguments.rb', line 10
attr_reader :names
Instance Method Details
#[](index)
Find an argument value by name or index.
# File 'lib/rake/task_arguments.rb', line 42
def [](index) lookup(index.to_sym) end
#each(&block)
Enumerates the arguments and their values
# File 'lib/rake/task_arguments.rb', line 54
def each(&block) @hash.each(&block) end
#extras
Retrieve the list of values not associated with named arguments
# File 'lib/rake/task_arguments.rb', line 30
def extras @values[@names.length..-1] || [] end
#has_key?(key) ⇒ Boolean
Returns true if key
is one of the arguments
# File 'lib/rake/task_arguments.rb', line 82
def has_key?(key) @hash.has_key?(key) end
#new_scope(names)
Create a new argument scope using the prerequisite argument names.
#to_a
Retrieve the complete array of sequential values
# File 'lib/rake/task_arguments.rb', line 25
def to_a @values.dup end
#to_hash
Returns a Hash of arguments and their values
# File 'lib/rake/task_arguments.rb', line 69
def to_hash @hash end
#values_at(*keys)
Extracts the argument values at keys
# File 'lib/rake/task_arguments.rb', line 59
def values_at(*keys) keys.map { |k| lookup(k) } end
#with_defaults(defaults)
Specify a hash of default values for task arguments. Use the defaults only if there is no specific value for the given argument.
# File 'lib/rake/task_arguments.rb', line 49
def with_defaults(defaults) @hash = defaults.merge(@hash) end