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.1.3"
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

.host_nameObject



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

def host_name
  Socket.gethostbyname(Socket.gethostname).first
end

.loggerObject



45
46
47
# File 'lib/emque/producing/producing.rb', line 45

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

.logger=(log) ⇒ Object



49
50
51
# File 'lib/emque/producing/producing.rb', line 49

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