class Utusemi::Configuration
Public Class Methods
new()
click to toggle source
# File lib/utusemi/configuration.rb, line 3 def initialize @maps ||= {} end
Public Instance Methods
map(name, *args, &block)
click to toggle source
# File lib/utusemi/configuration.rb, line 7 def map(name, *args, &block) name = (name || '').to_sym return map_get(name, *args) unless block_given? options = args.shift if args.first.is_a? Hash map_set(name, options, &block) end
Private Instance Methods
map_get(name, *args)
click to toggle source
# File lib/utusemi/configuration.rb, line 22 def map_get(name, *args) map = @maps[name].try(:dup) || {} block = map.delete(:block) definition = Definition.new(map) definition.exec(*args, &block) end
map_set(name, options, &block)
click to toggle source
# File lib/utusemi/configuration.rb, line 16 def map_set(name, options, &block) @maps[name] = {} @maps[name].update(options) if options @maps[name].update(block: block) end