class Hamburglar::Report
Hamburglar::Report
is the main class for generating fraud reports
Attributes
params[R]
Parameters that will be used to generate this fraud report
response[R]
Response from gateway
Public Class Methods
new(params = {})
click to toggle source
# File lib/hamburglar/report.rb, line 10 def initialize(params = {}) @gateway = params.delete(:gateway) || Hamburglar.config.gateway @params = params @response = generate_report! end
Public Instance Methods
fraud?()
click to toggle source
# File lib/hamburglar/report.rb, line 28 def fraud? @fraud = true if @response.nil? || @response.empty? return @fraud if @fraud if Hamburglar.config.fraud_proc.nil? @fraud = @response[:score].to_f >= Hamburglar.config.fraud_score.to_f else @fraud = Hamburglar.config.fraud_proc.call(self) == true end end
method_missing(method, *args, &block)
click to toggle source
Calls superclass method
# File lib/hamburglar/report.rb, line 16 def method_missing(method, *args, &block) if @response && @response[method.to_sym] @response[method.to_sym] else super end end
respond_to?(key)
click to toggle source
Calls superclass method
# File lib/hamburglar/report.rb, line 24 def respond_to?(key) @response.has_key?(key) || super end
Private Instance Methods
gateway()
click to toggle source
# File lib/hamburglar/report.rb, line 49 def gateway case @gateway.to_s when /min_fraud/ Gateways::MaxMind::MinFraud when /telephone/ Gateways::MaxMind::TelephoneVerification else raise Hamburglar::InvalidGateway, @gateway end end
generate_report!()
click to toggle source
# File lib/hamburglar/report.rb, line 40 def generate_report! api = gateway.new(@params) if api.valid? api.submit else api.errors end end