Module: Libis::Workflow::Mongoid::Dynamic

Defined in:
lib/libis/workflow/mongoid/dynamic.rb

Class Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/libis/workflow/mongoid/dynamic.rb', line 9

def self.included(klass)
  klass.class_eval do
    include ::Mongoid::Document
    include ::Mongoid::Attributes::Dynamic
    include ::Libis::Workflow::Mongoid::Sequence
    field :_id, type: Integer, overwrite: true
    sequence :_id
    index _id: 1

    def has_key?(key)
      self.attributes.has_key?(key.to_s) || self.attributes.has_key?(key.to_sym)
    end

    def each(&block)
      self.attributes.reject { |k,_| k == '_id' }.each(&block)
    end

  end
end