Class | Rake::TaskArguments
In: | lib/rake.rb
Parent: | Object

TaskAguments manage the arguments passed to a task.

### Methods

[] each inspect lookup method_missing new new_scope to_hash to_s

### Included Modules

Enumerable

### Attributes

names | [R] |

### Public Class methods

new(names, values, parent=nil)

[Source]

         # File lib/rake.rb, line 289
    289:     def initialize(names, values, parent=nil)
    290:       @names = names
    291:       @parent = parent
    292:       @hash = {}
    293:       names.each_with_index { |name, i|
    294:         @hash[name.to_sym] = values[i]
    295:       }
    296:     end

### Public Instance methods

[](index)

Find an argument value by name or index.

[Source]

         # File lib/rake.rb, line 306
    306:     def [](index)
    307:       lookup(index.to_sym)
    308:     end

each(&block)

[Source]

         # File lib/rake.rb, line 310
    310:     def each(&block)
    311:       @hash.each(&block)
    312:     end

inspect()

[Source]

         # File lib/rake.rb, line 326
    326:     def inspect
    327:       to_s
    328:     end

method_missing(sym, *args, &block)

[Source]

         # File lib/rake.rb, line 314
    314:     def method_missing(sym, *args, &block)
    315:       lookup(sym.to_sym)
    316:     end

new_scope(names)

Create a new argument scope using the prerequisite argument names.

[Source]

         # File lib/rake.rb, line 300
    300:     def new_scope(names)
    301:       values = names.collect { |n| self[n] }
    302:       self.class.new(names, values, self)
    303:     end

to_hash()

[Source]

         # File lib/rake.rb, line 318
    318:     def to_hash
    319:       @hash
    320:     end

to_s()

[Source]

         # File lib/rake.rb, line 322
    322:     def to_s
    323:       @hash.inspect
    324:     end

### Protected Instance methods

lookup(name)

[Source]

         # File lib/rake.rb, line 332
    332:     def lookup(name)
    333:       if @hash.has_key?(name)
    334:         @hash[name]
    335:       elsif ENV.has_key?(name.to_s)
    336:         ENV[name.to_s]
    337:       elsif ENV.has_key?(name.to_s.upcase)
    338:         ENV[name.to_s.upcase]
    339:       elsif @parent
    340:         @parent.lookup(name)
    341:       end
    342:     end

[Validate]