Module: BlockParty::Configurable::ConfigurationMethods
- Included in:
- BlockParty::Configurable
- Defined in:
- lib/block_party/configurable.rb
Instance Method Summary collapse
- #after_configuration(&block) ⇒ Object
- #configure {|configuration| ... } ⇒ Object
- #configure_with(klass) ⇒ Object
- #inherited(base) ⇒ Object
- #once_configured(&block) ⇒ Object
Instance Method Details
#after_configuration(&block) ⇒ Object
64 65 66 |
# File 'lib/block_party/configurable.rb', line 64 def after_configuration(&block) self.__configuration_callbacks__ += [block] if block_given? end |
#configure {|configuration| ... } ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# 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) ⇒ Object
60 61 62 |
# File 'lib/block_party/configurable.rb', line 60 def configure_with(klass) self.__configuration_class__ = klass end |
#inherited(base) ⇒ Object
72 73 74 75 76 77 |
# 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) ⇒ Object
68 69 70 |
# File 'lib/block_party/configurable.rb', line 68 def once_configured(&block) self.__initial_configuration_callbacks__ += [block] if block_given? end |