class Crew::Task::Arguments::Proxy

Attributes

block[R]

Public Class Methods

new(task, params, block) click to toggle source
# File lib/crew/task/arguments.rb, line 50
def initialize(task, params, block)
  @task, @params, @block = task, params, block
end

Public Instance Methods

method_missing(name, *args) click to toggle source
Calls superclass method
# File lib/crew/task/arguments.rb, line 54
def method_missing(name, *args)
  if @params.key?(name.to_s)
    @params[name.to_s].is_a?(Proc) ? @task.instance_eval(&@params[name.to_s]) : @params[name.to_s]
  else
    super
  end
end
to_s() click to toggle source
# File lib/crew/task/arguments.rb, line 62
def to_s
  @params.empty? ? "" : "(" + @params.map do |k, v|
    val = v.inspect
    if val.size > 50
      val = val[0..22] + "..." + val[-22..-1]
    end
    "#{k}=#{val}"
  end.join(" ") + ")"
end