Class Index [+]

Quicksearch

DataMapper::Resource::PersistenceState::Transient

a not-persisted/modifiable resource

Public Instance Methods

commit() click to toggle source
    # File lib/dm-core/resource/persistence_state/transient.rb, line 21
21:         def commit
22:           set_child_keys
23:           set_default_values
24:           return self unless valid_attributes?
25:           create_resource
26:           set_repository
27:           add_to_identity_map
28:           Clean.new(resource)
29:         end
delete() click to toggle source
    # File lib/dm-core/resource/persistence_state/transient.rb, line 17
17:         def delete
18:           self
19:         end
get(subject, *args) click to toggle source
    # File lib/dm-core/resource/persistence_state/transient.rb, line 7
 7:         def get(subject, *args)
 8:           set_default_value(subject)
 9:           super
10:         end
original_attributes() click to toggle source
    # File lib/dm-core/resource/persistence_state/transient.rb, line 35
35:         def original_attributes
36:           @original_attributes ||= {}
37:         end
rollback() click to toggle source
    # File lib/dm-core/resource/persistence_state/transient.rb, line 31
31:         def rollback
32:           self
33:         end
set(subject, value) click to toggle source
    # File lib/dm-core/resource/persistence_state/transient.rb, line 12
12:         def set(subject, value)
13:           track(subject)
14:           super
15:         end

Private Instance Methods

create_resource() click to toggle source
    # File lib/dm-core/resource/persistence_state/transient.rb, line 60
60:         def create_resource
61:           repository.create([ resource ])
62:         end
repository() click to toggle source
    # File lib/dm-core/resource/persistence_state/transient.rb, line 41
41:         def repository
42:           @repository ||= model.repository
43:         end
set_default_value(subject) click to toggle source
    # File lib/dm-core/resource/persistence_state/transient.rb, line 51
51:         def set_default_value(subject)
52:           return if subject.loaded?(resource) || !subject.default?
53:           set(subject, subject.default_for(resource))
54:         end
set_default_values() click to toggle source
    # File lib/dm-core/resource/persistence_state/transient.rb, line 45
45:         def set_default_values
46:           (properties | relationships).each do |subject|
47:             set_default_value(subject)
48:           end
49:         end
set_repository() click to toggle source
    # File lib/dm-core/resource/persistence_state/transient.rb, line 64
64:         def set_repository
65:           resource.instance_variable_set(:@_repository, repository)
66:         end
track(subject) click to toggle source
    # File lib/dm-core/resource/persistence_state/transient.rb, line 56
56:         def track(subject)
57:           original_attributes[subject] = nil
58:         end
valid_attributes?() click to toggle source
    # File lib/dm-core/resource/persistence_state/transient.rb, line 68
68:         def valid_attributes?
69:           properties.all? do |property|
70:             value = get(property)
71:             property.serial? && value.nil? || property.valid?(value)
72:           end
73:         end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.