module Mince::Model
Model
¶ ↑
The mince model is a module that provides standard model to data behavior to the Mince
data model mixing for a specific model.
Simply mixin this module in order to get a wrapper class to interact with a mince interface for a specific collection
Example:
require 'mince' class BookDataModel include Mince::DataModel data_collection :books data_fields :title, :publisher end class Book include Mince::Model data_model BookDataModel fields :title, :publisher end book = Book.new title: 'The World In Photographs', publisher: 'National Geographic' book.save
By including this module, you are including DataModel
, Fields
, Persistence
, and Finders
.
However, you can choose which modules you would like by including those modules individually so that you can have flexibility an lighter weight help to implement your models.
class AvailableBook include Mince::Model::DataModel data_collection :books def self.all data_collection.all_by_fields(library: "St. Louis - Downtown", available: true).map{ |a| new(a) } end end