Class: ActiveConformity::Conformable
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- ActiveConformity::Conformable
- Defined in:
- lib/active_conformity/conformable.rb
Instance Method Summary collapse
- #add_conformity_set(incoming_set = {}) ⇒ Object
- #conformity_set ⇒ Object
- #remove_coformity_rule(attr) ⇒ Object
- #remove_coformity_rule!(attr) ⇒ Object
Instance Method Details
#add_conformity_set(incoming_set = {}) ⇒ Object
6 7 8 9 10 11 |
# File 'lib/active_conformity/conformable.rb', line 6 def add_conformity_set(incoming_set={}) self.conformity_set = JSON.parse(self.conformity_set) if self.conformity_set.is_a?(String) conformity_set = JSON.parse(incoming_set) rescue incoming_set conformity_set = self.conformity_set.deep_merge(incoming_set) rescue conformity_set self.conformity_set = conformity_set.to_json end |
#conformity_set ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/active_conformity/conformable.rb', line 13 def conformity_set if super.is_a? String JSON.parse(super).deep_symbolize_keys! rescue super else super end end |
#remove_coformity_rule(attr) ⇒ Object
21 22 23 24 25 26 27 |
# File 'lib/active_conformity/conformable.rb', line 21 def remove_coformity_rule(attr) conformity_set = JSON.parse(self.conformity_set) rescue self.conformity_set conformity_set.delete(attr) do raise "no rule found for #{attr.to_s}" end self.conformity_set = conformity_set.to_json end |
#remove_coformity_rule!(attr) ⇒ Object
29 30 31 32 |
# File 'lib/active_conformity/conformable.rb', line 29 def remove_coformity_rule!(attr) remove_coformity_rule(attr) save! end |