module Rester
Constants
- VERSION
Public Class Methods
connect(service, params = {})
click to toggle source
# File lib/rester.rb, line 31 def connect(service, params = {}) _install_middleware_if_needed adapter_opts = Client::Adapters.extract_opts(params) adapter = Client::Adapters.connect(service, adapter_opts) Client.new(adapter, params) end
correlation_id()
click to toggle source
# File lib/rester.rb, line 81 def correlation_id request_info && request_info[:correlation_id] end
correlation_id=(correlation_id)
click to toggle source
# File lib/rester.rb, line 85 def correlation_id=(correlation_id) request_info[:correlation_id] = correlation_id end
load_tasks()
click to toggle source
# File lib/rester.rb, line 25 def load_tasks Dir[ File.expand_path("../../tasks", __FILE__) + '/**.rake' ].each { |rake_file| load rake_file } end
logger()
click to toggle source
# File lib/rester.rb, line 17 def logger @_logger ||= Utils::LoggerWrapper.new end
logger=(new_logger)
click to toggle source
# File lib/rester.rb, line 21 def logger=(new_logger) @_logger = Utils::LoggerWrapper.new(new_logger) end
processing_request?()
click to toggle source
# File lib/rester.rb, line 57 def processing_request? !!request_info end
request()
click to toggle source
# File lib/rester.rb, line 73 def request request_info[:request] end
request=(request)
click to toggle source
# File lib/rester.rb, line 77 def request=(request) request_info[:request] = request end
request_info()
click to toggle source
# File lib/rester.rb, line 61 def request_info @_request_infos[Thread.current.object_id] end
request_info=(info)
click to toggle source
# File lib/rester.rb, line 65 def request_info=(info) if info.nil? @_request_infos.delete(Thread.current.object_id) else @_request_infos[Thread.current.object_id] = info end end
service_name()
click to toggle source
# File lib/rester.rb, line 38 def service_name @_service_name ||= _get_service_name end
service_name=(name)
click to toggle source
# File lib/rester.rb, line 42 def service_name=(name) @_service_name = name end
wrap_request() { || ... }
click to toggle source
Used to manage the thread-safe `Rester.request_info` object.
# File lib/rester.rb, line 48 def wrap_request outer_most = !request_info self.request_info = {} if outer_most yield ensure self.request_info = nil if outer_most end
Private Class Methods
_get_service_name()
click to toggle source
# File lib/rester.rb, line 91 def _get_service_name if defined?(Rails) && Rails.application Rails.application.class.parent_name else services = Service.descendants fail "Define a service name" if services.empty? services.first.service_name end end
_install_middleware_if_needed()
click to toggle source
On the first call, installs the Client
RequestHandler middleware into the host application. Subsequent calls will do nothing.
# File lib/rester.rb, line 104 def _install_middleware_if_needed return if @__middleware_installed @__middleware_installed = true if defined?(Rails) && Rails.respond_to?(:application) && Rails.application Rails.configuration.middleware.use(Client::Middleware::RequestHandler) end end