Module: Dynamini::Dirty
- Included in:
- Base
- Defined in:
- lib/dynamini/dirty.rb
Instance Method Summary collapse
- #assign_transient_attribute(key, value) ⇒ Object
- #changed ⇒ Object
- #changes ⇒ Object
- #mark(attr) ⇒ Object
- #new_record? ⇒ Boolean
Instance Method Details
#assign_transient_attribute(key, value) ⇒ Object
24 25 26 |
# File 'lib/dynamini/dirty.rb', line 24 def assign_transient_attribute(key, value) write_attribute(key, value, change: :transient) end |
#changed ⇒ Object
9 10 11 |
# File 'lib/dynamini/dirty.rb', line 9 def changed changes.keys.map(&:to_s) end |
#changes ⇒ Object
4 5 6 7 |
# File 'lib/dynamini/dirty.rb', line 4 def changes @changes.delete_if { |attr, _value| keys.include?(attr) } .stringify_keys end |
#mark(attr) ⇒ Object
17 18 19 20 21 22 |
# File 'lib/dynamini/dirty.rb', line 17 def mark(attr) if @changes[attr][0..1] == [nil, nil] val = @attributes[attr] @changes[attr][0..1] = [val, val] end end |
#new_record? ⇒ Boolean
13 14 15 |
# File 'lib/dynamini/dirty.rb', line 13 def new_record? @new_record end |