module Flowcation::Registry

Public Instance Methods

register(register, options={}) click to toggle source
# File lib/flowcation/registry.rb, line 9
def register(register, options={})
  list = options[:type] == :list
  #registrator = options[:in] || :instance
  data = ActiveSupport::Inflector.singularize(register)
  define_method("register_#{data}") do |obj, v=nil|
    v ? send(register)[obj] = v : send(register) << obj
  end
  define_method(register) do
    instance_variable_set "@#{register}", (list ? [] : {}) unless instance_variable_get "@#{register}"
    instance_variable_get "@#{register}"
  end
end