module NumeritajTipo::Mongoid
Public Class Methods
included(base)
click to toggle source
# File lib/numeritaj_tipo/mongoid.rb, line 7 def self.included(base) base.extend self end
Public Instance Methods
define_enum(attribute_name, type, default_value)
click to toggle source
# File lib/numeritaj_tipo/mongoid.rb, line 11 def define_enum(attribute_name, type, default_value) type_class = type.to_s.classify.constantize type_class = type_class.extend(Mongoize) if type_class < NumeritajTipo::EnumBase field attribute_name, type: type_class, default: type < NumeritajTipo::EnumBase ? type.build(default_value) : default_value end
define_scopes(attribute_definition)
click to toggle source
# File lib/numeritaj_tipo/mongoid.rb, line 17 def define_scopes(attribute_definition) attribute_definition.enum_values.each do |value| scope value, -> { where(attribute_definition.name => value) } end end