Module: Libis::Workflow::Mongoid::Base
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(klass) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/libis/workflow/mongoid/base.rb', line 18 def self.included(klass) klass.extend(ClassMethods) klass.class_eval do include ::Mongoid::Document include ::Mongoid::Timestamps::Created::Short # include ::Mongoid::Extensions::Hash::IndifferentAccess include ::Libis::Workflow::Mongoid::Sequence field :_id, type: Integer, overwrite: true sequence :_id index c_at: 1 end end |
Instance Method Details
#dup ⇒ Object
67 68 69 70 |
# File 'lib/libis/workflow/mongoid/base.rb', line 67 def dup new_obj = self.class.new new_obj.copy_attributes(self) end |
#to_hash ⇒ Object
72 73 74 75 76 77 78 |
# File 'lib/libis/workflow/mongoid/base.rb', line 72 def to_hash result = self.attributes.reject { |k, v| v.blank? || volatile_attributes.include?(k) } result = result.to_yaml.gsub(/!ruby\/hash:BSON::Document/, '') # noinspection RubyResolve result = YAML.load(result) result.key_strings_to_symbols!(recursive: true) end |
#to_s ⇒ Object
80 81 82 |
# File 'lib/libis/workflow/mongoid/base.rb', line 80 def to_s self.name || "#{self.class.name}_#{self.id}" end |