class Floodgate::Control

Attributes

app[RW]
config[RW]

Public Class Methods

new(app, app_id, api_token) click to toggle source
# File lib/floodgate/control.rb, line 5
def initialize(app, app_id, api_token)
  Config.app_id = app_id
  Config.api_token = api_token

  @app = app
  @config = Config.new
end

Public Instance Methods

call(env) click to toggle source
# File lib/floodgate/control.rb, line 13
def call(env)
  return app.call(env) unless filter_traffic?(env)

  if redirect?
    [307, { 'Location' => redirect_url }, []]
  else
    [503, {}, ['Application Unavailable']]
  end
end
filter_traffic?(env) click to toggle source
# File lib/floodgate/control.rb, line 23
def filter_traffic?(env)
  config.filter_traffic?(env)
end
redirect?() click to toggle source
# File lib/floodgate/control.rb, line 27
def redirect?
  config.redirect?
end
redirect_url() click to toggle source
# File lib/floodgate/control.rb, line 31
def redirect_url
  config.redirect_url
end