class Dock::Mongoid

Public Instance Methods

all(options = {}) click to toggle source

Checked

# File lib/dock/adapters/mongoid.rb, line 18
def all(options = {})
  conditions, order, limit, offset = extract_conditions!(options)
  model.where(conditions_to_fields(conditions)).order_by(order).limit(limit).offset(offset)
end
associations() click to toggle source
# File lib/dock/adapters/mongoid.rb, line 40
def associations()

end
belongs_to() click to toggle source
# File lib/dock/adapters/mongoid.rb, line 59
def belongs_to()

end
column_names() click to toggle source

Checked

# File lib/dock/adapters/mongoid.rb, line 48
def column_names
  model.fields.keys
end
count(options = {}) click to toggle source

Checked

# File lib/dock/adapters/mongoid.rb, line 52
def count(options = {})
  all(options).count
end
create(attributes = {}) click to toggle source

Checked

# File lib/dock/adapters/mongoid.rb, line 6
def create(attributes = {})
    model.create!(attributes)
end
cyclic?() click to toggle source

Checked

# File lib/dock/adapters/mongoid.rb, line 74
def cyclic?
  model.cyclic?
end
destroy(object) click to toggle source

Checked

# File lib/dock/adapters/mongoid.rb, line 37
def destroy(object)
    object.destroy if valid_object?(object)
end
embedded?() click to toggle source

Checked

# File lib/dock/adapters/mongoid.rb, line 70
def embedded?
  model.relations.values.detect { |a| a.macro.to_sym == :embedded_in }
end
encoding() click to toggle source

Checked

# File lib/dock/adapters/mongoid.rb, line 56
def encoding
  'UTF-8'
end
find(id) click to toggle source

Checked

# File lib/dock/adapters/mongoid.rb, line 10
def find(id)
  model.find(wrap_key(id))
end
find!(id) click to toggle source

Checked

# File lib/dock/adapters/mongoid.rb, line 14
def find!(id)
  model.where(:_id => wrap_key(id)).first
end
first(options = {}) click to toggle source

Checked

# File lib/dock/adapters/mongoid.rb, line 23
def first(options = {})
  conditions, order = extract_conditions!(options)
  model.limit(1).where(conditions_to_fields(conditions)).order_by(order).first
end
has_many() click to toggle source
# File lib/dock/adapters/mongoid.rb, line 62
def has_many()

end
id() click to toggle source

Checked

# File lib/dock/adapters/mongoid.rb, line 28
def id
  '_id'
end
model_name() click to toggle source

Checked

# File lib/dock/adapters/mongoid.rb, line 44
def model_name
  model.class.name
end
properties() click to toggle source
# File lib/dock/adapters/mongoid.rb, line 81
def properties()

end
scoped?() click to toggle source

Checked

# File lib/dock/adapters/mongoid.rb, line 66
def scoped?
  model.scoped
end
supports_joins() click to toggle source

Checked

# File lib/dock/adapters/mongoid.rb, line 78
def supports_joins
  false
end
update(search_key, find_by, update_key, by_value) click to toggle source

Checked

# File lib/dock/adapters/mongoid.rb, line 32
def update(search_key, find_by, update_key, by_value)
  entry = model.where(search_key, find_by)
  entry.update_attributes!(update_key, by_value)
end

Protected Instance Methods

conditions_to_fields(conditions) click to toggle source

converts and documents to ids

# File lib/dock/adapters/mongoid.rb, line 86
def conditions_to_fields(conditions)
  conditions.inject({}) do |fields, (key, value)|
    if value.is_a?(Mongoid::Document) && model.fields.keys.include?("#{key}_id")
      fields.merge("#{key}_id" => value.id)
    elsif key.to_s == 'id'
      fields.merge('_id' => value)
    else
      fields.merge(key => value)
    end
  end
end