Module: Evrone::CI::Common::PerformMessageWrapper::ClassMethods

Defined in:
lib/evrone/ci/common/perform_message_wrapper.rb

Instance Method Summary collapse

Instance Method Details

#delegate_message_methods(msg_class, message_name) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/evrone/ci/common/perform_message_wrapper.rb', line 13

def delegate_message_methods(msg_class, message_name)
  msg_class.fields.each_pair do |_, field|
    define_method field.name do
      send(message_name).public_send field.name
    end
  end
end

#delivery_message_output(consumer, formatter) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/evrone/ci/common/perform_message_wrapper.rb', line 21

def delivery_message_output(consumer, formatter)

  define_method :output do
    @output ||= ""
  end

  define_method :add_to_output do |data|
    output << data
    logger.debug data.strip if logger.level == 0
    delivery_output data
  end

  define_method :add_command_to_output do |data|
    add_to_output "$ #{data}"
    add_to_output "\n"
  end

  define_method :delivery_output do |data|
    consumer.publish send(formatter, Time.now, data)
  end
  private :delivery_output

end