Class: BlockParty::Configuration
- Inherits:
-
Object
- Object
- BlockParty::Configuration
- Includes:
- Comparison, Conversion, Enumeration, Identity
- Defined in:
- lib/block_party/configuration.rb,
lib/block_party/configuration/identity.rb,
lib/block_party/configuration/comparison.rb,
lib/block_party/configuration/conversion.rb,
lib/block_party/configuration/enumeration.rb
Defined Under Namespace
Modules: Comparison, Conversion, Enumeration, Identity
Instance Method Summary collapse
-
#configure {|_self| ... } ⇒ Object
INTERFACE.
- #instance_variables ⇒ Object
- #method_missing(setting, *args, &block) ⇒ Object
- #settings ⇒ Object
- #unset(setting) ⇒ Object
Methods included from Enumeration
Methods included from Comparison
Methods included from Conversion
#as_hash, #dump, #hash_representation, included, #invalidate_hash_representation!, #load_hash, #to_hash, #to_s
Methods included from Identity
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(setting, *args, &block) ⇒ Object
17 18 19 20 21 22 23 24 25 |
# File 'lib/block_party/configuration.rb', line 17 def method_missing(setting, *args, &block) setter, getter = derive_setting_names(setting) create_accessors setter, getter if setter? setting set setter, *args, &block else set_nested_configuration setter, *args, &block end end |
Instance Method Details
#configure {|_self| ... } ⇒ Object
INTERFACE
12 13 14 15 |
# File 'lib/block_party/configuration.rb', line 12 def configure yield(self) if block_given? self end |
#instance_variables ⇒ Object
28 29 30 31 32 |
# File 'lib/block_party/configuration.rb', line 28 def instance_variables super.reject do |var| [:"@__hash_representation__", :"@__hash_representation__="].include? var end end |
#settings ⇒ Object
34 35 36 37 38 |
# File 'lib/block_party/configuration.rb', line 34 def settings instance_variables.map do |var| var.to_s.gsub('@', '').to_sym end end |
#unset(setting) ⇒ Object
40 41 42 43 44 |
# File 'lib/block_party/configuration.rb', line 40 def unset(setting) setting = setting.to_sym setting = :"@#{setting}" unless setting.to_s =~ /^@/ remove_instance_variable setting end |