Sha256: 8a092b82b74d8938c34f8369ed377ac3d373feb3212e3f091f549d21b399dacb

Contents?: true

Size: 478 Bytes

Versions: 2

Compression:

Stored size: 478 Bytes

Contents

module Toy
  module Dirty
    extend ActiveSupport::Concern
    include ActiveModel::Dirty
    include Attributes
    include Cloneable

    def initialize_copy(*)
      super.tap do
        @previously_changed = {}
        @changed_attributes = {}
      end
    end

    def write_attribute(name, value)
      @attributes ||= {}
      name    = name.to_s
      current = read_attribute(name)
      attribute_will_change!(name) if current != value
      super
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
toystore-0.13.2 lib/toy/dirty.rb
toystore-0.13.1 lib/toy/dirty.rb