module NoBrainer::Document::Persistance::ClassMethods

Public Instance Methods

create(attrs={}, options={}) click to toggle source
# File lib/no_brainer/document/persistance.rb, line 131
def create(attrs={}, options={})
  new(attrs, options).tap { |doc| doc.save?(options) }
end
create!(attrs={}, options={}) click to toggle source
# File lib/no_brainer/document/persistance.rb, line 135
def create!(attrs={}, options={})
  new(attrs, options).tap { |doc| doc.save!(options) }
end
insert_all(*args) click to toggle source
# 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={}) click to toggle source
# File lib/no_brainer/document/persistance.rb, line 159
def persistable_attributes(attrs, options={})
  Hash[attrs.map { |k,v| [persistable_key(k, options), persistable_value(k, v, options)] }]
end
persistable_key(k, options={}) click to toggle source
# File lib/no_brainer/document/persistance.rb, line 151
def persistable_key(k, options={})
  k
end
persistable_value(k, v, options={}) click to toggle source
# File lib/no_brainer/document/persistance.rb, line 155
def persistable_value(k, v, options={})
  v
end
sync() click to toggle source
# File lib/no_brainer/document/persistance.rb, line 147
def sync
  NoBrainer.run(rql_table.sync)['synced'] == 1
end