Module: NoBrainer::Document::Persistance::ClassMethods
- Defined in:
- lib/no_brainer/document/persistance.rb
Instance Method Summary collapse
- #create(attrs = {}, options = {}) ⇒ Object
- #create!(attrs = {}, options = {}) ⇒ Object
- #insert_all(*args) ⇒ Object
- #persistable_attributes(attrs, options = {}) ⇒ Object
- #persistable_key(k, options = {}) ⇒ Object
- #persistable_value(k, v, options = {}) ⇒ Object
- #sync ⇒ Object
Instance Method Details
#create(attrs = {}, options = {}) ⇒ Object
131 132 133 |
# File 'lib/no_brainer/document/persistance.rb', line 131 def create(attrs={}, ={}) new(attrs, ).tap { |doc| doc.save?() } end |
#create!(attrs = {}, options = {}) ⇒ Object
135 136 137 |
# File 'lib/no_brainer/document/persistance.rb', line 135 def create!(attrs={}, ={}) new(attrs, ).tap { |doc| doc.save!() } end |
#insert_all(*args) ⇒ Object
139 140 141 142 143 144 145 |
# File 'lib/no_brainer/document/persistance.rb', line 139 def insert_all(*args) docs = args.shift docs = [docs] unless docs.is_a?(Array) docs = docs.map { |doc| persistable_attributes(doc) } result = NoBrainer.run(rql_table.insert(docs, *args)) result['generated_keys'].to_a end |
#persistable_attributes(attrs, options = {}) ⇒ Object
159 160 161 |
# File 'lib/no_brainer/document/persistance.rb', line 159 def persistable_attributes(attrs, ={}) Hash[attrs.map { |k,v| [persistable_key(k, ), persistable_value(k, v, )] }] end |
#persistable_key(k, options = {}) ⇒ Object
151 152 153 |
# File 'lib/no_brainer/document/persistance.rb', line 151 def persistable_key(k, ={}) k end |
#persistable_value(k, v, options = {}) ⇒ Object
155 156 157 |
# File 'lib/no_brainer/document/persistance.rb', line 155 def persistable_value(k, v, ={}) v end |
#sync ⇒ Object
147 148 149 |
# File 'lib/no_brainer/document/persistance.rb', line 147 def sync NoBrainer.run(rql_table.sync)['synced'] == 1 end |