Sha256: 3f7bc7d03209dc0fb88b491c90ea21713a98fe21be7c8a385abcf87aaaedfd5b

Contents?: true

Size: 600 Bytes

Versions: 44

Compression:

Stored size: 600 Bytes

Contents

module ActiveResource
  module Observing
    extend ActiveSupport::Concern
    include ActiveModel::Observing

    included do
      %w( create save update destroy ).each do |method|
        class_eval(<<-EOS, __FILE__, __LINE__ + 1)
          def #{method}_with_notifications(*args, &block)
            notify_observers(:before_#{method})
            if result = #{method}_without_notifications(*args, &block)
              notify_observers(:after_#{method})
            end
            result
          end
        EOS
        alias_method_chain(method, :notifications)
      end
    end
  end
end

Version data entries

44 entries across 44 versions & 1 rubygems

Version Path
activeresource-3.0.20 lib/active_resource/observing.rb
activeresource-3.0.19 lib/active_resource/observing.rb
activeresource-3.0.18 lib/active_resource/observing.rb
activeresource-3.0.17 lib/active_resource/observing.rb
activeresource-3.0.16 lib/active_resource/observing.rb
activeresource-3.0.15 lib/active_resource/observing.rb
activeresource-3.0.14 lib/active_resource/observing.rb
activeresource-3.0.13 lib/active_resource/observing.rb
activeresource-3.0.13.rc1 lib/active_resource/observing.rb
activeresource-3.0.12 lib/active_resource/observing.rb
activeresource-3.0.12.rc1 lib/active_resource/observing.rb
activeresource-3.0.11 lib/active_resource/observing.rb
activeresource-3.0.10 lib/active_resource/observing.rb
activeresource-3.0.10.rc1 lib/active_resource/observing.rb
activeresource-3.0.9 lib/active_resource/observing.rb
activeresource-3.0.9.rc5 lib/active_resource/observing.rb
activeresource-3.0.9.rc4 lib/active_resource/observing.rb
activeresource-3.0.9.rc3 lib/active_resource/observing.rb
activeresource-3.0.9.rc1 lib/active_resource/observing.rb
activeresource-3.0.8 lib/active_resource/observing.rb