Class: RulesIO::Rack

Inherits:
Object
  • Object
show all
Defined in:
lib/rulesio.rb

Instance Method Summary collapse

Constructor Details

#initialize(app, options = {}) ⇒ Rack

Returns a new instance of Rack.



115
116
117
118
119
120
121
122
123
124
125
# File 'lib/rulesio.rb', line 115

def initialize(app, options={})
  @app = app
  RulesIO.logger = defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
  RulesIO.webhook_url = options[:webhook_url] || 'http://www.rules.io/events/'
  RulesIO.buffer = []
  RulesIO.filter_parameters = defined?(Rails) ? Rails.application.config.filter_parameters : []
  RulesIO.token = options[:token]
  RulesIO.queue = options[:queue] || RulesIO::MemoryQueue
  RulesIO.queue_options = options[:queue_options] || {}
  RulesIO.controller_data = options[:controller_data] || '{}'
end

Instance Method Details

#call(env) ⇒ Object



127
128
129
130
131
132
133
# File 'lib/rulesio.rb', line 127

def call(env)
  RulesIO.buffer = []
  env['rulesio.request_url'] = ::Rack::Request.new(env).url
  @app.call(env)
ensure
  RulesIO.flush(env)
end