In Files

  • rake/task_arguments.rb


TaskArguments manage the arguments passed to a task.



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?

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)
each(&block) click to toggle source

Enumerates the arguments and their values

               # File rake/task_arguments.rb, line 54
def each(&block)
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] || []
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)
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)
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 = { |n| self[n] }, values + extras, self)
to_a() click to toggle source

Retrieve the complete array of sequential values

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

Returns a Hash of arguments and their values

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

Extracts the argument values at keys

               # File rake/task_arguments.rb, line 59
def values_at(*keys) { |k| lookup(k) }
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)

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

blog comments powered by Disqus