class RepsheetVisualizer::App

Public Instance Methods

action(ip, blacklist=nil) click to toggle source
# File lib/repsheet_visualizer/application/app.rb, line 17
def action(ip, blacklist=nil)
  blacklist = redis_connection.get("#{ip}:repsheet:blacklist") if blacklist.nil?
  if blacklist.nil? || blacklist == "false"
    "blacklist"
  else
    "whitelist"
  end
end
geoip_database() click to toggle source
# File lib/repsheet_visualizer/application/app.rb, line 45
def geoip_database
  geoip_database = defined?(settings.geoip_database) ? settings.geoip_database : nil
  raise "Missing GeoIP database settings" if geoip_database.nil?
  raise "Could not locate GeoIP database" unless File.exist?(geoip_database)
  GeoIP.new(settings.geoip_database)
end
h(text) click to toggle source
# File lib/repsheet_visualizer/application/app.rb, line 30
def h(text)
  begin
    Rack::Utils.escape_html(text)
  rescue ArgumentError
    replace_invalid_chars(text)
  end
end
mount() click to toggle source
# File lib/repsheet_visualizer/application/app.rb, line 52
def mount
  defined?(settings.mount) ? (settings.mount + "/") : "/"
end
redis_connection() click to toggle source
# File lib/repsheet_visualizer/application/app.rb, line 39
def redis_connection
  host = defined?(settings.redis_host) ? settings.redis_host : "localhost"
  port = defined?(settings.redis_port) ? settings.redis_port : 6379
  Redis.new(:host => host, :port => port)
end
redis_expiry() click to toggle source
# File lib/repsheet_visualizer/application/app.rb, line 56
def redis_expiry
  defined?(settings.redis_expiry) ? (settings.redis_expiry * 60 * 60) : (24 * 60 * 60)
end
replace_invalid_chars(str) click to toggle source
# File lib/repsheet_visualizer/application/app.rb, line 26
def replace_invalid_chars(str)
  str.encode('UTF-16le', :invalid => :replace, :replace => '?').encode('UTF-8')
end