class SC::TaskArguments
TaskAguments manage the arguments passed to a task. Borrowed from Rake 0.8.3
Attributes
names[R]
Public Class Methods
new(keys, values, parent = nil)
click to toggle source
for compatibility with normal TaskArguments
Calls superclass method
# File lib/sproutcore/buildfile/task_arguments.rb, line 19 def self.new(keys, values, parent = nil) args = super() args.setup_with_arrays(keys, values, parent) args end
with_hash(hash)
click to toggle source
# File lib/sproutcore/buildfile/task_arguments.rb, line 25 def self.with_hash(hash) args = allocate args.setup_with_hash(hash) args end
Public Instance Methods
[](index)
click to toggle source
Find an argument value by name or index.
# File lib/sproutcore/buildfile/task_arguments.rb, line 58 def [](index) lookup(index) end
each(&block)
click to toggle source
# File lib/sproutcore/buildfile/task_arguments.rb, line 69 def each(&block) @hash.each(&block) end
inspect()
click to toggle source
# File lib/sproutcore/buildfile/task_arguments.rb, line 85 def inspect to_s end
method_missing(sym, *args, &block)
click to toggle source
# File lib/sproutcore/buildfile/task_arguments.rb, line 73 def method_missing(sym, *args, &block) lookup(sym.to_sym) end
new_scope(names)
click to toggle source
Create a new argument scope using the prerequisite argument names.
# File lib/sproutcore/buildfile/task_arguments.rb, line 52 def new_scope(names) values = names.collect { |n| self[n] } self.class.new(names, values, self) end
setup_with_arrays(keys, 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 lib/sproutcore/buildfile/task_arguments.rb, line 40 def setup_with_arrays(keys, values, parent=nil) @names = keys @parent = parent @hash = {} names.each_with_index { |name, i| @hash[name.to_sym] = values[i] unless values[i].nil? } end
setup_with_hash(hash)
click to toggle source
# File lib/sproutcore/buildfile/task_arguments.rb, line 31 def setup_with_hash(hash) @names = hash.keys @parent = nil @hash = hash end
to_hash()
click to toggle source
# File lib/sproutcore/buildfile/task_arguments.rb, line 77 def to_hash @hash end
to_s()
click to toggle source
# File lib/sproutcore/buildfile/task_arguments.rb, line 81 def to_s @hash.inspect 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 lib/sproutcore/buildfile/task_arguments.rb, line 65 def with_defaults(defaults) @hash = defaults.merge(@hash) end
Protected Instance Methods
lookup(name)
click to toggle source
# File lib/sproutcore/buildfile/task_arguments.rb, line 91 def lookup(name) if @hash.has_key?(name) @hash[name] elsif ENV.has_key?(name.to_s) ENV[name.to_s] elsif ENV.has_key?(name.to_s.upcase) ENV[name.to_s.upcase] elsif @parent @parent.lookup(name) end end