module Wardrobe::Plugins::Configurable::ClassMethods

Public Class Methods

extended(base) click to toggle source
Calls superclass method
# File lib/wardrobe/plugins/configurable.rb, line 14
def self.extended(base)
  super
  base.wardrobe_stores do
    add_store(:configurable_store, ConfigurableStore)
  end
end

Public Instance Methods

configurable(name, blk_name, klass) click to toggle source
# File lib/wardrobe/plugins/configurable.rb, line 21
def configurable(name, blk_name, klass)
  wardrobe_stores do
    @configurable_store = configurable_store.register(name, klass)
  end

  define_singleton_method(name) do
    wardrobe_stores.configurable_store[name]
  end

  define_singleton_method(blk_name) do |&blk|
    wardrobe_stores do
      @configurable_store = configurable_store.update(name, &blk)
    end
  end
end