Module: Dynamini::Dirty

Included in:
Base
Defined in:
lib/dynamini/dirty.rb

Instance Method Summary collapse

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

#changedObject



9
10
11
# File 'lib/dynamini/dirty.rb', line 9

def changed
  changes.keys.map(&:to_s)
end

#changesObject



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

Returns:

  • (Boolean)


13
14
15
# File 'lib/dynamini/dirty.rb', line 13

def new_record?
  @new_record
end