In Files

  • rake/task_arguments.rb

Rake::TaskArguments

TaskArguments manage the arguments passed to a task.

Attributes

names[R]

Argument names

Public Class Methods

new(names, values, parent=nil) click to toggle source

Create a TaskArgument object with a list of argument names and a set of associated values. parent is the parent argument object.

 
               # File rake/task_arguments.rb, line 14
def initialize(names, values, parent=nil)
  @names = names
  @parent = parent
  @hash = {}
  @values = values
  names.each_with_index { |name, i|
    @hash[name.to_sym] = values[i] unless values[i].nil?
  }
end
            

Public Instance Methods

[](index) click to toggle source

Find an argument value by name or index.

 
               # File rake/task_arguments.rb, line 42
def [](index)
  lookup(index.to_sym)
end
            
each(&block) click to toggle source

Enumerates the arguments and their values

 
               # File rake/task_arguments.rb, line 54
def each(&block)
  @hash.each(&block)
end
            
extras() click to toggle source

Retrieve the list of values not associated with named arguments

 
               # File rake/task_arguments.rb, line 30
def extras
  @values[@names.length..-1] || []
end
            
has_key?(key) click to toggle source

Returns true if key is one of the arguments

 
               # File rake/task_arguments.rb, line 82
def has_key?(key)
  @hash.has_key?(key)
end
            
method_missing(sym, *args) click to toggle source

Returns the value of the given argument via #method_missing

 
               # File rake/task_arguments.rb, line 64
def method_missing(sym, *args)
  lookup(sym.to_sym)
end
            
new_scope(names) click to toggle source

Create a new argument scope using the prerequisite argument names.

 
               # File rake/task_arguments.rb, line 36
def new_scope(names)
  values = names.map { |n| self[n] }
  self.class.new(names, values + extras, self)
end
            
to_a() click to toggle source

Retrieve the complete array of sequential values

 
               # File rake/task_arguments.rb, line 25
def to_a
  @values.dup
end
            
to_hash() click to toggle source

Returns a Hash of arguments and their values

 
               # File rake/task_arguments.rb, line 69
def to_hash
  @hash
end
            
values_at(*keys) click to toggle source

Extracts the argument values at keys

 
               # File rake/task_arguments.rb, line 59
def values_at(*keys)
  keys.map { |k| lookup(k) }
end
            
with_defaults(defaults) click to toggle source

Specify a hash of default values for task arguments. Use the defaults only if there is no specific value for the given argument.

 
               # File rake/task_arguments.rb, line 49
def with_defaults(defaults)
  @hash = defaults.merge(@hash)
end
            

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.

blog comments powered by Disqus