Module: Tainbox::InstanceMethods
- Defined in:
- lib/tainbox/instance_methods.rb
Instance Method Summary collapse
- #attribute_provided?(attribute) ⇒ Boolean
- #attributes ⇒ Object
- #attributes=(attributes) ⇒ Object
- #initialize(attributes = {}) ⇒ Object
Instance Method Details
#attribute_provided?(attribute) ⇒ Boolean
32 33 34 |
# File 'lib/tainbox/instance_methods.rb', line 32 def attribute_provided?(attribute) tainbox_provided_attributes.include?(attribute.to_sym) end |
#attributes ⇒ Object
11 12 13 14 15 |
# File 'lib/tainbox/instance_methods.rb', line 11 def attributes self.class.tainbox_attributes.map do |attribute| [attribute, send(attribute)] if respond_to?(attribute, true) end.compact.to_h end |
#attributes=(attributes) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/tainbox/instance_methods.rb', line 17 def attributes=(attributes) attributes = attributes.symbolize_keys self.class.tainbox_attributes.each do |attribute| if attributes.has_key?(attribute) method_name = "#{attribute}=" send(method_name, attributes[attribute]) if respond_to?(method_name, true) else method_name = "tainbox_set_default_#{attribute}" send(method_name) if respond_to?(method_name, true) end end end |
#initialize(attributes = {}) ⇒ Object
7 8 9 |
# File 'lib/tainbox/instance_methods.rb', line 7 def initialize(attributes = {}) self.attributes = attributes end |