Sha256: 657b29a94486ec45ddd2e70dd140f9ba70bf64ea3a087e45c489001cadac11f2

Contents?: true

Size: 642 Bytes

Versions: 2

Compression:

Stored size: 642 Bytes

Contents

# frozen_string_literal: true

class Acfs::Resource
  #
  # Thin wrapper around ActiveModel::Dirty
  #
  module Dirty
    extend ActiveSupport::Concern
    include ActiveModel::Dirty

    # @api private
    #
    def reset_changes
      clear_changes_information
    end

    # @api private
    #
    def save!(**kwargs)
      super(**kwargs).tap {|_| changes_applied }
    end

    # @api private
    #
    def loaded!
      reset_changes
      super
    end

    # @api private
    #
    def write_raw_attribute(name, value, opts = {})
      attribute_will_change!(name) if opts[:change].nil? || opts[:change]
      super
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
acfs-1.7.0 lib/acfs/resource/dirty.rb
acfs-1.6.0 lib/acfs/resource/dirty.rb