Sha256: bb38cf779ab9128ef79b9e702da093a2366533d5225b63a90aa0e52f073b0d6d

Contents?: true

Size: 684 Bytes

Versions: 1

Compression:

Stored size: 684 Bytes

Contents

# frozen_string_literal: true

require 'clowne/ext/record_key'

module Clowne
  module Adapters
    class Sequel # :nodoc: all
      class Operation < Clowne::Utils::Operation
        include Clowne::Ext::RecordKey

        def initialize(mapper)
          super
          @records = {}
        end

        def record_wrapper(record)
          @records[key(record)] ||= RecordWrapper.new(record)
        end

        def hash
          @records[key(@clone)]
        end

        def to_record
          return @_record if defined?(@_record)

          @_record = @records[key(@clone)].to_model.tap do
            run_after_clone
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
clowne-1.1.0 lib/clowne/adapters/sequel/operation.rb