Sha256: 3a43f15cbe0b0ec3edacd4103072c9c7f156586942e358a489f5fa0b68492673

Contents?: true

Size: 565 Bytes

Versions: 3

Compression:

Stored size: 565 Bytes

Contents

# encoding: utf-8

module ROM
  class Session
    class State

      # @api private
      class Updated < self
        include Adamantium::Flat
        include Concord::Public.new(:object, :mapper, :relation)

        # @api private
        def commit
          relation.update(object, original_tuple)
          Persisted.new(object, mapper)
        end

        private

        # @api private
        def original_tuple
          mapper.identity_map.fetch_tuple(mapper.identity(object))
        end

      end # Updated

    end # State
  end # Session
end # ROM

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
rom-0.2.0 lib/rom/session/state/updated.rb
rom-session-0.1.1 lib/rom/session/state/updated.rb
rom-session-0.1.0 lib/rom/session/state/updated.rb