Class: Clickatell::Catcher::Rack::Middleware
- Inherits:
-
Object
- Object
- Clickatell::Catcher::Rack::Middleware
- Defined in:
- lib/clickatell/catcher/rack.rb
Instance Attribute Summary collapse
-
#messages ⇒ Object
readonly
Returns the value of attribute messages.
Instance Method Summary collapse
- #add_message(request_body) ⇒ Object
- #call(env) ⇒ Object
-
#initialize(app, options = {}) ⇒ Middleware
constructor
A new instance of Middleware.
- #render_messages ⇒ Object
- #rest_message(request) ⇒ Object
Constructor Details
#initialize(app, options = {}) ⇒ Middleware
Returns a new instance of Middleware.
14 15 16 17 18 19 20 |
# File 'lib/clickatell/catcher/rack.rb', line 14 def initialize(app, = {}) @app = app @messages = Clickatell::Catcher::Rack::SharedArray.new @logger = [:logger] || ::Rack::NullLogger.new(nil) @message_adder = MessageAdder.new(@messages) @messages_renderer = MessagesRenderer.new(@messages) end |
Instance Attribute Details
#messages ⇒ Object (readonly)
Returns the value of attribute messages.
12 13 14 |
# File 'lib/clickatell/catcher/rack.rb', line 12 def @messages end |
Instance Method Details
#add_message(request_body) ⇒ Object
22 23 24 25 26 |
# File 'lib/clickatell/catcher/rack.rb', line 22 def (request_body) @message_adder.add(request_body) @logger.debug("[#{Process.pid}] Messages: " + @messages.inspect) @message_adder.rack_response end |
#call(env) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/clickatell/catcher/rack.rb', line 41 def call(env) request = ::Rack::Request.new(env) if request.path == '/rest/message' (request) else status, headers, body = @app.call(env) # return result [status, headers, body] end end |
#render_messages ⇒ Object
28 29 30 31 |
# File 'lib/clickatell/catcher/rack.rb', line 28 def @logger.debug("[#{Process.pid}] Rendering Messages: " + @messages.inspect) @messages_renderer.rack_response end |
#rest_message(request) ⇒ Object
33 34 35 36 37 38 39 |
# File 'lib/clickatell/catcher/rack.rb', line 33 def (request) if request.get? else (request.body.read) end end |