Class: DataMapper::Resource::PersistenceState

Inherits:
Object
  • Object
show all
Extended by:
Equalizer
Defined in:
lib/dm-core/resource/persistence_state.rb,
lib/dm-core/resource/persistence_state/clean.rb,
lib/dm-core/resource/persistence_state/dirty.rb,
lib/dm-core/resource/persistence_state/deleted.rb,
lib/dm-core/resource/persistence_state/immutable.rb,
lib/dm-core/resource/persistence_state/persisted.rb,
lib/dm-core/resource/persistence_state/transient.rb

Overview

the state of the resource (abstract)

Direct Known Subclasses

Immutable, Persisted, Transient

Defined Under Namespace

Classes: Clean, Deleted, Dirty, Immutable, Persisted, Transient

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Equalizer

equalize

Constructor Details

#initialize(resource) ⇒ PersistenceState

Returns a new instance of PersistenceState.



11
12
13
14
# File 'lib/dm-core/resource/persistence_state.rb', line 11

def initialize(resource)
  @resource = resource
  @model    = resource.model
end

Instance Attribute Details

#modelObject (readonly)

Returns the value of attribute model.



9
10
11
# File 'lib/dm-core/resource/persistence_state.rb', line 9

def model
  @model
end

#resourceObject (readonly)

Returns the value of attribute resource.



9
10
11
# File 'lib/dm-core/resource/persistence_state.rb', line 9

def resource
  @resource
end

Instance Method Details

#commitObject

Raises:

  • (NotImplementedError)


29
30
31
# File 'lib/dm-core/resource/persistence_state.rb', line 29

def commit
  raise NotImplementedError, "#{self.class}#commit should be implemented"
end

#deleteObject

Raises:

  • (NotImplementedError)


25
26
27
# File 'lib/dm-core/resource/persistence_state.rb', line 25

def delete
  raise NotImplementedError, "#{self.class}#delete should be implemented"
end

#get(subject, *args) ⇒ Object



16
17
18
# File 'lib/dm-core/resource/persistence_state.rb', line 16

def get(subject, *args)
  subject.get(resource, *args)
end

#rollbackObject

Raises:

  • (NotImplementedError)


33
34
35
# File 'lib/dm-core/resource/persistence_state.rb', line 33

def rollback
  raise NotImplementedError, "#{self.class}#rollback should be implemented"
end

#set(subject, value) ⇒ Object



20
21
22
23
# File 'lib/dm-core/resource/persistence_state.rb', line 20

def set(subject, value)
  subject.set(resource, value)
  self
end