Module: Diametric::Persistence::REST
- Extended by:
- ClassMethods
- Defined in:
- lib/diametric/persistence/rest.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary
collapse
Instance Method Summary
collapse
all, connect, connection, create_schema, database, filter, first, get, q, tempid, transact, where
Class Method Details
.connection ⇒ Object
18
19
20
|
# File 'lib/diametric/persistence/rest.rb', line 18
def self.connection
@connection
end
|
.create_schemas ⇒ Object
22
23
24
25
26
|
# File 'lib/diametric/persistence/rest.rb', line 22
def self.create_schemas
@persisted_classes.each do |klass|
klass.create_schema
end
end
|
.included(base) ⇒ Object
12
13
14
15
16
|
# File 'lib/diametric/persistence/rest.rb', line 12
def self.included(base)
base.send(:include, Diametric::Persistence::Common)
base.send(:extend, ClassMethods)
@persisted_classes.add(base)
end
|
Instance Method Details
#retract_entity(dbid) ⇒ Object
127
128
129
130
|
# File 'lib/diametric/persistence/rest.rb', line 127
def retract_entity(dbid)
query = [[:"db.fn/retractEntity", dbid.to_i]]
self.class.transact(query)
end
|
#save ⇒ true, false
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
# File 'lib/diametric/persistence/rest.rb', line 106
def save
return false unless valid?
return true unless changed?
self.dbid = self.dbid.to_i if self.dbid.class == String
res = self.class.transact(tx_data)
if dbid.nil? || dbid.is_a?(EDN::Type::Unknown)
self.dbid = res.data[:tempids].values.first
end
@previously_changed = changes
@changed_attributes.clear
res
end
|
#to_edn ⇒ Object
123
124
125
|
# File 'lib/diametric/persistence/rest.rb', line 123
def to_edn
self.dbid
end
|