class DeviseSqreener::Sqreen
sqreen an email of ip
Constants
- BASE_URL
Attributes
sqreen_api_token[RW]
Public Class Methods
new(token)
click to toggle source
# File lib/devise_sqreener/sqreen.rb, line 11 def initialize(token) self.sqreen_api_token = token end
Public Instance Methods
sqreen_email(email)
click to toggle source
Sqreen
an email address @param [String] email address to sqreen @return [String, nil] nil (on any error) or the metadata hash
# File lib/devise_sqreener/sqreen.rb, line 18 def sqreen_email(email) sqreen(:emails, email) end
sqreen_ip(ip)
click to toggle source
Sqreen
an ip address @param [String] ip address to sqreen @return [] nil (on any error) or the metadata hash
# File lib/devise_sqreener/sqreen.rb, line 25 def sqreen_ip(ip) sqreen(:ips, ip) end
Protected Instance Methods
handle_response(kind, value, response)
click to toggle source
# File lib/devise_sqreener/sqreen.rb, line 42 def handle_response(kind, value, response) case response when Net::HTTPSuccess then return JSON.load(response.body) else Rails.logger.debug do "Cannot sqreen #{kind} #{value} #{response.inspect}" end nil end end
sqreen(kind, value)
click to toggle source
# File lib/devise_sqreener/sqreen.rb, line 31 def sqreen(kind, value) uri = URI(format(BASE_URL, kind, value)) user_agent = "DeviseSqreener/#{DeviseSqreener::VERSION} #{Gem::Platform.local.os}/#{Gem::Platform.local.version} Rails/#{Rails::VERSION::STRING} Ruby/#{RUBY_VERSION}" response = Net::HTTP.start(uri.hostname, uri.port, :use_ssl => uri.scheme == 'https') do |http| http.request_get(uri, 'x-api-key' => sqreen_api_token.to_s, 'User-Agent' => user_agent) end handle_response(kind, value, response) end