Skip to content
This repository was 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

ae17878 · Jul 28, 2020
Nov 12, 2019
May 11, 2015
Nov 11, 2019
Jul 28, 2020
Apr 15, 2019
May 15, 2015
May 15, 2015
Apr 12, 2019
May 15, 2015
Sep 3, 2012
Nov 12, 2019
Mar 3, 2020
Jul 28, 2020

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