module MongoModel::Properties::ClassMethods

Public Instance Methods

inherited(subclass) click to toggle source
Calls superclass method
# File lib/mongomodel/concerns/properties.rb, line 37
def inherited(subclass)
  super
  subclass.properties = properties.dup
end
internal_properties() click to toggle source
# File lib/mongomodel/concerns/properties.rb, line 33
def internal_properties
  properties.select { |k, p| p.internal? }.map { |k, p| p }
end
model_properties() click to toggle source
# File lib/mongomodel/concerns/properties.rb, line 29
def model_properties
  properties.reject { |k, p| p.internal? }
end
properties() click to toggle source
# File lib/mongomodel/concerns/properties.rb, line 21
def properties
  @properties ||= ActiveSupport::OrderedHash.new
end
properties=(properties) click to toggle source
# File lib/mongomodel/concerns/properties.rb, line 25
def properties=(properties)
  @properties = properties
end
property(name, type, options={}) click to toggle source
# File lib/mongomodel/concerns/properties.rb, line 15
def property(name, type, options={})
  properties[name.to_sym] = Property.new(name, type, options).tap do |property|
    include type.mongomodel_accessors(property) if type.respond_to?(:mongomodel_accessors)
  end
end