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 = {}
  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 31
def [](index)
  lookup(index.to_sym)
end
            
each(&block) click to toggle source
 
               # File rake/task_arguments.rb, line 42
def each(&block)
  @hash.each(&block)
end
            
inspect() click to toggle source
 
               # File rake/task_arguments.rb, line 62
def inspect
  to_s
end
            
method_missing(sym, *args) click to toggle source
 
               # File rake/task_arguments.rb, line 50
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 25
def new_scope(names)
  values = names.collect { |n| self[n] }
  self.class.new(names, values, self)
end
            
to_hash() click to toggle source
 
               # File rake/task_arguments.rb, line 54
def to_hash
  @hash
end
            
to_s() click to toggle source
 
               # File rake/task_arguments.rb, line 58
def to_s
  @hash.inspect
end
            
values_at(*keys) click to toggle source
 
               # File rake/task_arguments.rb, line 46
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 38
def with_defaults(defaults)
  @hash = defaults.merge(@hash)
end
            

Protected Instance Methods

lookup(name) click to toggle source
 
               # File rake/task_arguments.rb, line 68
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