module Vega::MethodHelpers
Private Instance Methods
array_methods(*methods)
click to toggle source
# File lib/vega/method_helpers.rb, line 25 def array_methods(*methods) methods.each do |method| define_method("#{method}!") do |value| value = [value] unless value.is_a?(Array) (@spec[method] ||= []).push(*value) self end immutable_method(method) end end
hash_methods(*methods)
click to toggle source
# File lib/vega/method_helpers.rb, line 15 def hash_methods(*methods) methods.each do |method| define_method("#{method}!") do |value| (@spec[method] ||= {}).merge!(value) self end immutable_method(method) end end
immutable_method(method)
click to toggle source
# File lib/vega/method_helpers.rb, line 36 def immutable_method(method) define_method(method) do |value| dup.send("#{method}!", value) end end
scalar_methods(*methods)
click to toggle source
# File lib/vega/method_helpers.rb, line 5 def scalar_methods(*methods) methods.each do |method| define_method("#{method}!") do |value| @spec[method] = value self end immutable_method(method) end end