Skip to content
This repository has been archived by the owner on Dec 21, 2022. It is now read-only.

nedap/mordor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CircleCI

Introduction

Small library to add DataMapper style resources for MongoDB.

class ExampleResource
  include Mordor::Resource

  attribute :first, :index => true
  attribute :second
  attribute :third, :finder_method => :find_by_third_attribute
  attribute :at,    :timestamp => true
end

This adds attr_accessors to the ExampleResource for each attribute, plus adds finder methods of the form find_by_{attribute}. The naming convention can be overridden by using the optional :finder_method option, as can be seen with the third attribute.

When the :index => true option is set, indices are ensured before each query on the collection. Indices are descending by default, but this can be changed by also supplying a :index_type => Mongo::ASCENDING option.

At most one attribute per Resource can have the option :timestamp => true set. This means that the attribute will be saved as one of the two first attributes (the other one being the _id attribute. When no value is given for the timestamped attribute, a timestamp with value 0 will be inserted, which results in a timestamp being assigned to it by the MongoDB. An exception is raised when more than one attribute is given the timestamp option