Module: RServiceBus

Defined in:
lib/rservicebus.rb,
lib/rservicebus/MQ.rb,
lib/rservicebus/Host.rb,
lib/rservicebus/Agent.rb,
lib/rservicebus/Audit.rb,
lib/rservicebus/Stats.rb,
lib/rservicebus/Config.rb,
lib/rservicebus/Message.rb,
lib/rservicebus/Monitor.rb,
lib/rservicebus/MQ/Redis.rb,
lib/rservicebus/Test/Bus.rb,
lib/rservicebus/Saga/Base.rb,
lib/rservicebus/Saga/Data.rb,
lib/rservicebus/SagaLoader.rb,
lib/rservicebus/Test/Redis.rb,
lib/rservicebus/AppResource.rb,
lib/rservicebus/CronManager.rb,
lib/rservicebus/MQ/RabbitMq.rb,
lib/rservicebus/Monitor/Dir.rb,
lib/rservicebus/SagaStorage.rb,
lib/rservicebus/Transporter.rb,
lib/rservicebus/ErrorMessage.rb,
lib/rservicebus/MQ/Beanstalk.rb,
lib/rservicebus/Saga/Manager.rb,
lib/rservicebus/StateManager.rb,
lib/rservicebus/StateStorage.rb,
lib/rservicebus/HandlerLoader.rb,
lib/rservicebus/SendAtManager.rb,
lib/rservicebus/SendAtStorage.rb,
lib/rservicebus/CircuitBreaker.rb,
lib/rservicebus/HandlerManager.rb,
lib/rservicebus/Monitor/CsvDir.rb,
lib/rservicebus/Monitor/XmlDir.rb,
lib/rservicebus/AppResource/Dir.rb,
lib/rservicebus/AppResource/Smb.rb,
lib/rservicebus/EndpointMapping.rb,
lib/rservicebus/Monitor/Message.rb,
lib/rservicebus/ResourceManager.rb,
lib/rservicebus/SagaStorage/Dir.rb,
lib/rservicebus/AppResource/File.rb,
lib/rservicebus/ConfigureMonitor.rb,
lib/rservicebus/StateStorage/Dir.rb,
lib/rservicebus/StatisticManager.rb,
lib/rservicebus/helper_functions.rb,
lib/rservicebus/AppResource/Redis.rb,
lib/rservicebus/AppResource/SmbDir.rb,
lib/rservicebus/Monitor/CsvPerLine.rb,
lib/rservicebus/SendAtStorage/File.rb,
lib/rservicebus/AppResource/FluidDb.rb,
lib/rservicebus/AppResource/SmbFile.rb,
lib/rservicebus/Monitor/DirNotifier.rb,
lib/rservicebus/SubscriptionManager.rb,
lib/rservicebus/SubscriptionStorage.rb,
lib/rservicebus/ConfigureAppResource.rb,
lib/rservicebus/Message/Subscription.rb,
lib/rservicebus/SagaStorage/InMemory.rb,
lib/rservicebus/AppResource/ScpUpload.rb,
lib/rservicebus/Message/VerboseOutput.rb,
lib/rservicebus/StateStorage/InMemory.rb,
lib/rservicebus/SendAtStorage/InMemory.rb,
lib/rservicebus/AppResource/ScpDownload.rb,
lib/rservicebus/Message/StatisticOutput.rb,
lib/rservicebus/UserMessage/WithPayload.rb,
lib/rservicebus/AppResource/FluidDbMysql.rb,
lib/rservicebus/AppResource/FluidDbPgsql.rb,
lib/rservicebus/SubscriptionStorage/File.rb,
lib/rservicebus/AppResource/FluidDbMysql2.rb,
lib/rservicebus/SubscriptionStorage/Redis.rb,
lib/rservicebus/AppResource/FluidDbTinyTds.rb,
lib/rservicebus/AppResource/FluidDbFirebird.rb,
lib/rservicebus/ConfigureSubscriptionStorage.rb

Defined Under Namespace

Classes: Agent, AppResource, AppResource_Dir, AppResource_File, AppResource_FluidDb, AppResource_FluidDbFirebird, AppResource_FluidDbMysql, AppResource_FluidDbMysql2, AppResource_FluidDbPgsql, AppResource_FluidDbTinyTds, AppResource_Redis, AppResource_ScpDownload, AppResource_ScpUpload, AppResource_Smb, AppResource_SmbDir, AppResource_SmbFile, Audit, CircuitBreaker, ClassNotFoundForMsg, Config, ConfigFromEnv, ConfigFromSetter, ConfigureAppResource, ConfigureMonitor, ConfigureSubscriptionStorage, CouldNotConnectToDestination, CronManager, EndpointMapping, ErrorMessage, Globber, HandlerLoader, HandlerManager, Host, JobTooBigError, MQ, MQ_Beanstalk, MQ_RabbitMq, MQ_Redis, Message, MessageArrivedWhileCricuitBroken, Message_StatisticOutputOff, Message_StatisticOutputOn, Message_Subscription, Message_VerboseOutputOff, Message_VerboseOutputOn, Monitor, Monitor_CsvDir, Monitor_CsvPerLineDir, Monitor_Dir, Monitor_DirNotifier, Monitor_Message, Monitor_XmlDir, NoHandlerFound, NoMatchingMsgForCron, NoMsgToProcess, PropertyNotSet, QueueNotFoundForMsg, ResourceManager, SagaLoader, SagaStorage, SagaStorage_Dir, SagaStorage_InMemory, Saga_Base, Saga_Data, Saga_Manager, ScpDownloadHelper, ScpUploadHelper, SendAtManager, SendAtStorage, SendAtStorage_File, StateManager, StateStorage, StateStorage_Dir, StateStorage_InMemory, StatisticManager, Stats, SubscriptionManager, SubscriptionStorage, SubscriptionStorage_File, SubscriptionStorage_Redis, Test_Bus, Test_Redis, Transporter, UserMessage_WithPayload

Class Method Summary collapse

Class Method Details

.checkEnvironmentVariable(string) ⇒ Object

Raises:

  • (ArgumentError)


97
98
99
100
101
102
# File 'lib/rservicebus/helper_functions.rb', line 97

def RServiceBus.checkEnvironmentVariable( string )
    return false if ENV[string].nil?
    return true if ENV[string] == true || ENV[string] =~ (/(true|t|yes|y|1)$/i)
    return false if ENV[string] == false || ENV[string].nil? || ENV[string] =~ (/(false|f|no|n|0)$/i)
    raise ArgumentError.new("invalid value for Environment Variable: \"#{string}\"")
end

.checkForReply(queueName) ⇒ Object



84
85
86
87
88
89
90
91
# File 'lib/rservicebus/helper_functions.rb', line 84

def RServiceBus.checkForReply( queueName )
    ENV['RSBMQ'] = 'beanstalk://localhost' if ENV['RSBMQ'].nil?
    agent = RServiceBus::Agent.new
    msg = agent.checkForReply( queueName )
    Audit.new( agent ).auditIncoming( msg )

    return msg
end

.convertDTOToHash(obj) ⇒ Object



4
5
6
7
8
9
# File 'lib/rservicebus/helper_functions.rb', line 4

def RServiceBus.convertDTOToHash( obj )
	hash = {};
	obj.instance_variables.each {|var| hash[var.to_s.delete('@')] = obj.instance_variable_get(var) }

	return hash
end

.convertDTOToJson(obj) ⇒ Object



11
12
13
14
15
# File 'lib/rservicebus/helper_functions.rb', line 11

def RServiceBus.convertDTOToJson( obj )
	hash = RServiceBus.convertDTOToHash(obj)

	return hash.to_json
end

.createAnonymousClass(name_for_class) ⇒ Object



34
35
36
37
38
# File 'lib/rservicebus/helper_functions.rb', line 34

def RServiceBus.createAnonymousClass( name_for_class )
    newAnonymousClass = Class.new(Object)
    Object.const_set( name_for_class, newAnonymousClass )
    return Object.const_get( name_for_class ).new
end

.getValue(name, default = nil) ⇒ Object



40
41
42
43
44
# File 'lib/rservicebus/helper_functions.rb', line 40

def RServiceBus.getValue( name, default=nil )
    value = ( ENV[name].nil?  || ENV[name] == '') ? default : ENV[name];
    log "Env value: #{name}: #{value}"
    return value
end

.log(string, ver = false) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'lib/rservicebus/helper_functions.rb', line 17

def RServiceBus.log(string, ver=false)
       return if RServiceBus.checkEnvironmentVariable('TESTING')

	type = ver ? 'VERB' : 'INFO'
       if RServiceBus.checkEnvironmentVariable('VERBOSE') || !ver then
           timestamp = Time.new.strftime('%Y-%m-%d %H:%M:%S')
           puts "[#{type}] #{timestamp} :: #{string}"
       end
end

.rlog(string) ⇒ Object



27
28
29
30
31
32
# File 'lib/rservicebus/helper_functions.rb', line 27

def RServiceBus.rlog(string)
    if RServiceBus.checkEnvironmentVariable('RSBVERBOSE') then
        timestamp = Time.new.strftime('%Y-%m-%d %H:%M:%S')
        puts "[RSB] #{timestamp} :: #{string}"
    end
end

.sendMsg(msg, responseQueue = 'agent') ⇒ Object



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/rservicebus/helper_functions.rb', line 46

def RServiceBus.sendMsg( msg, responseQueue='agent')
    require 'rservicebus/EndpointMapping'
    endpointMapping = EndpointMapping.new
    endpointMapping.Configure
    queueName = endpointMapping.get( msg.class.name )

    ENV['RSBMQ'] = 'beanstalk://localhost' if ENV['RSBMQ'].nil?
    agent = RServiceBus::Agent.new
    Audit.new( agent ).audit( msg )
    agent.sendMsg(msg, queueName, responseQueue)

    rescue QueueNotFoundForMsg=>e
		msg = "\n"
		msg = "#{msg}*** Queue not found for, #{e.message}\n"
		msg = "#{msg}*** Ensure you have an environment variable set for this Message Type, eg, \n"
		msg = "#{msg}*** MESSAGE_ENDPOINT_MAPPINGS=#{e.message}:<QueueName>\n"
		raise StandardError.new( msg )
end

.tick(string) ⇒ Object



93
94
95
# File 'lib/rservicebus/helper_functions.rb', line 93

def RServiceBus.tick( string )
    puts "[TICK] #{Time.new.strftime( '%Y-%m-%d %H:%M:%S.%6N' )} :: #{caller[0]}. #{string}"
end