Sha256: 122fa8b3d4323d1620ad30455c0c4733a355adc83ce01f7117302bc8eda2ef1b

Contents?: true

Size: 674 Bytes

Versions: 1

Compression:

Stored size: 674 Bytes

Contents

# encoding: utf-8

module ROM
  class Session
    class State

      # @api private
      class Persisted < self
        include Concord::Public.new(:object, :mapper)

        # @api private
        def save(relation)
          if mapper.dirty?(object)
            Updated.new(object, mapper, relation)
          else
            self
          end
        end

        # @api private
        def update(relation, tuple)
          Updated.new(object.update(tuple), mapper, relation)
        end

        # @api private
        def delete(relation)
          Deleted.new(object, mapper, relation)
        end

      end # Persisted

    end # State
  end # Session
end # ROM

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rom-0.2.0 lib/rom/session/state/persisted.rb