module BlockParty::Configurable::ConfigurationMethods

Public Instance Methods

after_configuration(&block) click to toggle source
# File lib/block_party/configurable.rb, line 64
def after_configuration(&block)
  self.__configuration_callbacks__ += [block] if block_given?
end
configure() { |configuration| ... } click to toggle source
# File lib/block_party/configurable.rb, line 36
def configure
  accessor = Configurable.configuration.default_configuration_accessor
  configuration = send(accessor)
  initial_configuration = !configuration

  if initial_configuration
    configuration = send(:"#{accessor}=", self.__configuration_class__.new)
  end

  yield(configuration) if block_given?

  if initial_configuration
    self.__initial_configuration_callbacks__.each do |callback|
      self.class_eval &callback
    end
  end

  self.__configuration_callbacks__.each do |callback|
    self.class_eval &callback
  end

  configuration
end
configure_with(klass) click to toggle source
# File lib/block_party/configurable.rb, line 60
def configure_with(klass)
  self.__configuration_class__ = klass
end
inherited(base) click to toggle source
Calls superclass method
# File lib/block_party/configurable.rb, line 72
def inherited(base)
  Configurable.inheritable_settings.each do |setting|
    base.instance_variable_set :"@#{setting}", send(setting)
  end
  super
end
once_configured(&block) click to toggle source
# File lib/block_party/configurable.rb, line 68
def once_configured(&block)
  self.__initial_configuration_callbacks__ += [block] if block_given?
end