Class: Promiscuous::Publisher::Mongoid

Inherits:
Base
  • Object
show all
Includes:
AMQP, Attributes, Class, Polymorphic
Defined in:
lib/promiscuous/publisher/mongoid.rb

Defined Under Namespace

Modules: Defer, DeferEmbedded, Embedded Classes: EmbeddedMany

Instance Attribute Summary

Attributes inherited from Base

#options

Class Method Summary collapse

Methods included from AMQP

#payload, #publish

Methods included from Envelope

#payload

Methods included from Polymorphic

#payload

Methods included from Attributes

#include_attributes?, #payload, #payload_for

Methods inherited from Base

#initialize, #instance

Constructor Details

This class inherits a constructor from Promiscuous::Publisher::Base

Class Method Details

.mongoid3?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/promiscuous/publisher/mongoid.rb', line 29

def self.mongoid3?
  Gem.loaded_specs['mongoid'].version >= Gem::Version.new('3.0.0')
end

.publish(options) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/promiscuous/publisher/mongoid.rb', line 12

def self.publish(options)
  super

  if klass.embedded?
    if mongoid3?
      include Promiscuous::Publisher::Mongoid::DeferEmbedded
    else
      include Promiscuous::Publisher::Mongoid::Embedded
    end
  else
    include Promiscuous::Publisher::Model
    include Promiscuous::Publisher::Mongoid::Defer if mongoid3?
  end

  setup_class_binding
end