module TogoStanza::Stanza::ExpressionMap::Macro
Public Instance Methods
define_expression_map(name)
click to toggle source
# File lib/togostanza/stanza/expression_map.rb, line 9 def define_expression_map(name) class_attribute name __send__ "#{name}=", ExpressionMap.new define_singleton_method name.to_s.singularize do |key, val = nil, &block| raise ArgumentError, 'You must specify exactly one of either a value or block' unless [val, block].one?(&:nil?) __send__ "#{name}=", __send__(name).merge(key => block || val) end end