In Files

  • rake/task_arguments.rb

Rake::TaskArguments

TaskArguments manage the arguments passed to a task.

Attributes

names[R]

Public Class Methods

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

Create a TaskArgument object with a list of named arguments (given by :names) and a set of associated values (given by :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
 
               # File rake/task_arguments.rb, line 53
def each(&block)
  @hash.each(&block)
end
            
extras() click to toggle source

Retrive the list of values not associated with named arguments

 
               # File rake/task_arguments.rb, line 30
def extras
  @values[@names.length..-1] || []
end
            
inspect() click to toggle source
 
               # File rake/task_arguments.rb, line 73
def inspect
  to_s
end
            
method_missing(sym, *args) click to toggle source
 
               # File rake/task_arguments.rb, line 61
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

Retrive 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
 
               # File rake/task_arguments.rb, line 65
def to_hash
  @hash
end
            
to_s() click to toggle source
 
               # File rake/task_arguments.rb, line 69
def to_s
  @hash.inspect
end
            
values_at(*keys) click to toggle source
 
               # File rake/task_arguments.rb, line 57
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
            

Protected Instance Methods

lookup(name) click to toggle source
 
               # File rake/task_arguments.rb, line 79
def lookup(name)
  if @hash.has_key?(name)
    @hash[name]
  elsif @parent
    @parent.lookup(name)
  end
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