Module: Umbra
- Defined in:
- lib/umbra.rb,
lib/umbra/config.rb,
lib/umbra/encoder.rb,
lib/umbra/version.rb,
lib/umbra/publisher.rb,
lib/umbra/middleware.rb,
lib/umbra/subscriber.rb,
lib/umbra/request_builder.rb,
lib/umbra/shadow_requester.rb,
lib/umbra/synchronous_publisher.rb
Defined Under Namespace
Classes: Config, Encoder, Middleware, Publisher, RequestBuilder, ShadowRequester, Subscriber, SynchronousPublisher
Constant Summary
collapse
- CHANNEL =
'umbra_channel'
'HTTP_X_UMBRA_REQUEST'
'true'
- RequestSelector =
proc { true }
- SuppressErrorHandler =
proc { nil }
- VERSION =
'0.2.0'
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.config ⇒ Object
Returns the value of attribute config.
26
27
28
|
# File 'lib/umbra.rb', line 26
def config
@config
end
|
Class Method Details
28
29
30
31
32
|
# File 'lib/umbra.rb', line 28
def configure(&block)
@config = Config.default(&block)
test_redis_connection!
end
|
.encoder ⇒ Object
50
51
52
|
# File 'lib/umbra.rb', line 50
def encoder
@config.encoder
end
|
.logger ⇒ Object
54
55
56
|
# File 'lib/umbra.rb', line 54
def logger
@config.logger
end
|
.publish(env, response) ⇒ Object
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/umbra.rb', line 34
def publish(env, response)
return if umbra_request?(env)
return unless @config
return unless @config.request_selector.call(env, response)
env['umbra.request_body'] = request_body(env)
@config.publisher.call(env, response)
rescue StandardError => e
@config.error_handler.call(e, env, response)
end
|
.redis ⇒ Object
46
47
48
|
# File 'lib/umbra.rb', line 46
def redis
@redis ||= Redis.new(@config.redis_options)
end
|
.reset! ⇒ Object
58
59
60
61
|
# File 'lib/umbra.rb', line 58
def reset!
@config = nil
@redis = nil
end
|