Module: Tochtli
- Defined in:
- lib/tochtli.rb,
lib/tochtli/test.rb,
lib/tochtli/engine.rb,
lib/tochtli/message.rb,
lib/tochtli/version.rb,
lib/tochtli/application.rb,
lib/tochtli/base_client.rb,
lib/tochtli/reply_queue.rb,
lib/tochtli/test/client.rb,
lib/tochtli/rabbit_client.rb,
lib/tochtli/test/test_case.rb,
lib/tochtli/test/test_unit.rb,
lib/tochtli/base_controller.rb,
lib/tochtli/test/controller.rb,
lib/tochtli/test/integration.rb,
lib/tochtli/rabbit_connection.rb,
lib/tochtli/simple_validation.rb,
lib/tochtli/test/memory_cache.rb,
lib/tochtli/controller_manager.rb,
lib/tochtli/active_record_connection_cleaner.rb
Defined Under Namespace
Modules: SimpleValidation, Test
Classes: ActiveRecordConnectionCleaner, Application, BaseClient, BaseController, ControllerManager, Engine, ErrorHandler, ErrorMessage, InvalidMessageError, Message, MessageDropped, MessageError, MessageHandler, MessageLogger, MessageSetup, Middleware, MiddlewareStack, RabbitClient, RabbitConnection, ReplyQueue
Constant Summary
collapse
- VERSION =
File.readlines(File.expand_path('../../../VERSION', __FILE__))[0].chomp
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.cache ⇒ Object
79
80
81
82
83
84
|
# File 'lib/tochtli.rb', line 79
def cache
if !@cache && defined?(Rails)
@cache = Rails.cache
end
@cache
end
|
.debug_bunny ⇒ Object
If set to true bunny log level would be set to DEBUG (by default it is WARN)
64
65
66
|
# File 'lib/tochtli.rb', line 64
def debug_bunny
@debug_bunny
end
|
.logger ⇒ Object
66
67
68
69
70
71
72
73
74
75
76
77
|
# File 'lib/tochtli.rb', line 66
def logger
unless @logger
if defined?(Rails)
@logger = Logger.new(File.join(Rails.root, 'log/service.log'))
@logger.level = Rails.env.production? ? Logger::WARN : Logger::DEBUG
else
@logger = Logger.new(STDERR)
@logger.level = Logger::WARN
end
end
@logger
end
|
Class Method Details
.application ⇒ Object
86
87
88
89
90
91
92
|
# File 'lib/tochtli.rb', line 86
def application
unless @application
@application = Tochtli::Application.new
@application.use_default_middlewares
end
@application
end
|
.eager_load_service_controllers ⇒ Object
150
151
152
153
154
155
156
|
# File 'lib/tochtli.rb', line 150
def eager_load_service_controllers
existent_engine_paths('controllers').each do |load_path|
Dir.glob("#{load_path}/**/*.rb").sort.each do |file|
require file
end
end
end
|
.eager_load_service_messages ⇒ Object
142
143
144
145
146
147
148
|
# File 'lib/tochtli.rb', line 142
def eager_load_service_messages
existent_engine_paths('messages').each do |load_path|
Dir.glob("#{load_path}/**/*.rb").sort.each do |file|
require file
end
end
end
|
.existent_engine_paths(type) ⇒ Object
158
159
160
161
162
163
164
|
# File 'lib/tochtli.rb', line 158
def existent_engine_paths(type)
engines = ::Rails::Engine.subclasses.map(&:instance)
engines += [Rails.application]
engines.collect do |railtie|
railtie.paths["service/#{type}"].try(:existent)
end.compact.flatten
end
|
.load_services ⇒ Object
Should be invoked only once
95
96
97
98
|
# File 'lib/tochtli.rb', line 95
def load_services
eager_load_service_messages
eager_load_service_controllers
end
|
.restart_services(rabbit_config = nil, logger = nil) ⇒ Object
129
130
131
132
133
134
135
136
137
138
139
140
|
# File 'lib/tochtli.rb', line 129
def restart_services(rabbit_config=nil, logger=nil)
ControllerManager.stop if ControllerManager.running?
ControllerManager.start(rabbit_config, logger)
true
rescue
if logger
logger.error "Error during service restart"
logger.error "#{$!.class}: #{$!}"
logger.error $!.backtrace.join("\n")
end
false
end
|
.services_running? ⇒ Boolean
.start_services(rabbit_config = nil, logger = nil) ⇒ Object
100
101
102
103
104
105
106
107
108
109
110
111
|
# File 'lib/tochtli.rb', line 100
def start_services(rabbit_config=nil, logger=nil)
ControllerManager.setup(config: rabbit_config, logger: logger)
ControllerManager.start
true
rescue
if logger
logger.error "Error during service start"
logger.error "#{$!.class}: #{$!}"
logger.error $!.backtrace.join("\n")
end
false
end
|
.stop_services(logger = nil) ⇒ Object
113
114
115
116
117
118
119
120
121
122
123
|
# File 'lib/tochtli.rb', line 113
def stop_services(logger=nil)
ControllerManager.stop
true
rescue
if logger
logger.error "Error during service stop"
logger.error "#{$!.class}: #{$!}"
logger.error $!.backtrace.join("\n")
end
false
end
|