Class: SequelMapper::AbstractRecord

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/sequel_mapper/abstract_record.rb

Direct Known Subclasses

DeletedRecord, UpsertedRecord

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(namespace, identity, raw_data = {}) ⇒ AbstractRecord

Returns a new instance of AbstractRecord.



7
8
9
10
11
# File 'lib/sequel_mapper/abstract_record.rb', line 7

def initialize(namespace, identity, raw_data = {})
  @namespace = namespace
  @identity = identity
  @raw_data = raw_data
end

Instance Attribute Details

#identityObject (readonly)

Returns the value of attribute identity.



13
14
15
# File 'lib/sequel_mapper/abstract_record.rb', line 13

def identity
  @identity
end

#namespaceObject (readonly)

Returns the value of attribute namespace.



13
14
15
# File 'lib/sequel_mapper/abstract_record.rb', line 13

def namespace
  @namespace
end

Instance Method Details

#==(other) ⇒ Object



36
37
38
39
# File 'lib/sequel_mapper/abstract_record.rb', line 36

def ==(other)
  self.class === other &&
    [operation, to_h] == [other.operation, other.to_h]
end

#if_delete(&block) ⇒ Object



24
25
26
# File 'lib/sequel_mapper/abstract_record.rb', line 24

def if_delete(&block)
  self
end

#if_upsert(&block) ⇒ Object



20
21
22
# File 'lib/sequel_mapper/abstract_record.rb', line 20

def if_upsert(&block)
  self
end

#merge(more_data) ⇒ Object



28
29
30
# File 'lib/sequel_mapper/abstract_record.rb', line 28

def merge(more_data)
  new_with_raw_data(raw_data.merge(more_data))
end

#to_hObject



32
33
34
# File 'lib/sequel_mapper/abstract_record.rb', line 32

def to_h
  raw_data.merge(identity)
end