Class: Rake::TaskArguments (Ruby 2.2.4)
Description: Class : Rake::TaskArguments - Ruby 2.2.4

- Home
- Core 2.2.4
- Std-lib 2.2.4
- Downloads

Support for the Ruby 2.2 series has ended. See here for reference.

### Home Classes Methods

### In Files

- rake/task_arguments.rb

### Parent

Object

### Methods

- ::new
- #[]
- #each
- #extras
- #has_key?
- #method_missing
- #new_scope
- #to_a
- #to_hash
- #values_at
- #with_defaults

### Included Modules

- Enumerable

### Class/Module Index

Quicksearch

- FileUtils
- Module
- Object
- Pathname
- Rake::Application
- Rake::CompositePublisher
- Rake::DSL
- Rake::DefaultLoader
- Rake::EarlyTime
- Rake::FileCreationTask
- Rake::FileList
- Rake::FileTask
- Rake::FileUtilsExt
- Rake::InvocationChain
- Rake::InvocationChain::EmptyInvocationChain
- Rake::InvocationExceptionMixin
- Rake::LateTime
- Rake::LinkedList
- Rake::LinkedList::EmptyLinkedList
- Rake::MakefileLoader
- Rake::MultiTask
- Rake::NameSpace
- Rake::PackageTask
- Rake::PrivateReader
- Rake::RuleRecursionOverflowError
- Rake::Scope
- Rake::SshDirPublisher
- Rake::SshFilePublisher
- Rake::SshFreshDirPublisher
- Rake::Task
- Rake::TaskArgumentError
- Rake::TaskArguments
- Rake::TaskLib
- Rake::TaskManager
- Rake::TestTask
- Rake::Win32
- String

No matching classes.

# 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