Module: DeepStore::Model
- Defined in:
- lib/deep_store/model.rb,
lib/deep_store/model/dsl.rb,
lib/deep_store/model/key_factory.rb,
lib/deep_store/model/persistence.rb,
lib/deep_store/model/content_interface.rb
Defined Under Namespace
Modules: ClassMethods, ContentInterface, DSL, Persistence Classes: KeyFactory
Class Method Summary collapse
Class Method Details
.included(base) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/deep_store/model.rb', line 8 def self.included(base) base.extend(ClassMethods) base.class_eval do extend DeepStore::Model::DSL include ActiveModel::Serialization include ActiveModel::Validations include Persistence include ContentInterface def initialize(data = {}) data.each { |k, v| send("#{k}=", v) } end def attributes Hash[__schema__.keys.map { |k| [k, send(k)] }] end private def __repository__ self.class.repository end def __schema__ self.class.schema end def __settings__ self.class.settings end end end |