Module: Emque::Producing

Defined in:
lib/emque/producing/logging.rb,
lib/emque/producing/version.rb,
lib/emque/producing/producing.rb,
lib/emque/producing/configuration.rb,
lib/emque/producing/publisher/base.rb,
lib/emque/producing/message/message.rb,
lib/emque/producing/publisher/rabbitmq.rb,
lib/emque/producing/message/message_with_changeset.rb

Defined Under Namespace

Modules: Message, MessageWithChangeset, Publisher Classes: ChangesPayloadGenerator, Configuration, Logging

Constant Summary collapse

VERSION =
"1.3.1"
ConfigurationError =
Class.new(StandardError)

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject



25
26
27
# File 'lib/emque/producing/producing.rb', line 25

def configuration
  @configuration ||= Emque::Producing::Configuration.new
end

.publisherObject

Returns the value of attribute publisher.



4
5
6
# File 'lib/emque/producing/producing.rb', line 4

def publisher
  @publisher
end

Class Method Details

.configure {|configuration| ... } ⇒ Object

Yields:



21
22
23
# File 'lib/emque/producing/producing.rb', line 21

def configure
  yield(configuration)
end

.hostnameObject



29
30
31
32
33
# File 'lib/emque/producing/producing.rb', line 29

def hostname
  return @hostname unless @hostname.nil?
  @hostname = Socket.gethostname
  @hostname
end

.loggerObject



47
48
49
# File 'lib/emque/producing/producing.rb', line 47

def logger
  Emque::Producing::Logging.logger
end

.logger=(log) ⇒ Object



51
52
53
# File 'lib/emque/producing/producing.rb', line 51

def logger=(log)
  Emque::Producing::Logging.logger = log
end

.message(opts = {}) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/emque/producing/producing.rb', line 7

def message(opts = {})
  with_changeset = opts.fetch(:with_changeset) { false }

  Module.new do
    define_singleton_method(:included) do |descendant|
      if with_changeset
        descendant.send(:include, ::Emque::Producing::MessageWithChangeset)
      else
        descendant.send(:include, ::Emque::Producing::Message)
      end
    end
  end
end