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. 
- #fetch(*args, &block)
- 
    
      #has_key?(key)  ⇒ Boolean 
      (also: #key?)
    
    Returns true if keyis one of the arguments.
- 
    
      #key?(key)  
    
    Alias for #has_key?. 
- 
    
      #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 65
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 43
def [](index) lookup(index.to_sym) end
#each(&block)
Enumerates the arguments and their values
# File 'lib/rake/task_arguments.rb', line 55
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 31
def extras @values[@names.length..-1] || [] end
#fetch(*args, &block)
[ GitHub ]# File 'lib/rake/task_arguments.rb', line 92
def fetch(*args, &block) @hash.fetch(*args, &block) end
    #has_key?(key)  ⇒ Boolean 
    Also known as: #key?
  
Returns true if key is one of the arguments
# File 'lib/rake/task_arguments.rb', line 87
def has_key?(key) @hash.has_key?(key) end
#key?(key)
Alias for #has_key?.
# File 'lib/rake/task_arguments.rb', line 90
alias key? has_key?
#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 26
def to_a @values.dup end
#to_hash
Returns a Hash of arguments and their values
# File 'lib/rake/task_arguments.rb', line 70
def to_hash @hash.dup end
#values_at(*keys)
Extracts the argument values at keys
# File 'lib/rake/task_arguments.rb', line 60
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 50
def with_defaults(defaults) @hash = defaults.merge(@hash) end