hamburglar 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.markdown +10 -8
- data/lib/hamburglar.rb +6 -0
- data/lib/hamburglar/config.rb +46 -0
- data/lib/hamburglar/gateways.rb +2 -0
- data/lib/hamburglar/gateways/base.rb +2 -0
- data/lib/hamburglar/gateways/max_mind.rb +10 -0
- data/lib/hamburglar/version.rb +1 -1
- metadata +58 -60
data/README.markdown
CHANGED
@@ -1,10 +1,12 @@
|
|
1
|
-
# Hamburglar
|
2
|
-
|
3
|
-
[](http://travis-ci.org/site5/hamburglar)
|
1
|
+
# Hamburglar [![Hamburglar Build Status][Build Icon]][Build Status]
|
4
2
|
|
5
3
|
Hamburglar helps you prevent fraudulent orders.
|
6
4
|
|
7
|
-
|
5
|
+
Hamburglar has been tested on MRI 1.8.7, MRI 1.9.2, MRI 1.9.3 Preview 1,
|
6
|
+
Rubinius 2.0.0pre, and JRuby 1.6.2.
|
7
|
+
|
8
|
+
[Build Icon]: https://secure.travis-ci.org/site5/hamburglar.png?branch=master
|
9
|
+
[Build Status]: http://travis-ci.org/site5/hamburglar
|
8
10
|
|
9
11
|
## Prerequisites
|
10
12
|
|
@@ -49,7 +51,7 @@ By default, reports will use the minFraud API.
|
|
49
51
|
|
50
52
|
report = Hamburglar::Report.new(
|
51
53
|
:license_key => 's3cr3tz',
|
52
|
-
:
|
54
|
+
:ip => '192.168.1.1',
|
53
55
|
:city => 'Funland',
|
54
56
|
:region => 'US',
|
55
57
|
:postal => '12345',
|
@@ -64,9 +66,9 @@ By default, reports will use the minFraud API.
|
|
64
66
|
**Generate a fraud report using Telephone Verification**
|
65
67
|
|
66
68
|
report = Hamburglar::Report.new(
|
67
|
-
:gateway
|
68
|
-
:
|
69
|
-
:phone
|
69
|
+
:gateway => :max_mind_telephone,
|
70
|
+
:license_key => 's3cr3tz',
|
71
|
+
:phone => '+18004445555'
|
70
72
|
)
|
71
73
|
|
72
74
|
## Optional Configuration
|
data/lib/hamburglar.rb
CHANGED
data/lib/hamburglar/config.rb
CHANGED
@@ -1,10 +1,56 @@
|
|
1
1
|
module Hamburglar
|
2
|
+
# The Hamburglar::Config class stores configuration variables used to generate
|
3
|
+
# fraud reports.
|
2
4
|
class Config
|
5
|
+
# The gateway used when generating fraud reports via
|
6
|
+
# `Hamburglar::Report.new`.
|
7
|
+
#
|
8
|
+
# Example:
|
9
|
+
# # Set gateway
|
10
|
+
# config.gateway = :min_fraud
|
11
|
+
#
|
12
|
+
# # Get gateway
|
13
|
+
# config.gateway
|
3
14
|
attr_accessor :gateway
|
15
|
+
|
16
|
+
# Credentials that should be used when communicating with
|
17
|
+
# upstream APIs.
|
18
|
+
#
|
19
|
+
# This should be a Hash. When a query is sent to a Gateway, this Hash
|
20
|
+
# will be merged in **if** it's keys exist in Gateway#optional_params
|
21
|
+
#
|
22
|
+
# Example:
|
23
|
+
# # Set credentials:
|
24
|
+
# config.credentials = { :license_key => 's3cretz' }
|
25
|
+
#
|
26
|
+
# # Get credentials
|
27
|
+
# config.credentials
|
4
28
|
attr_accessor :credentials
|
29
|
+
|
30
|
+
# The score that should be considered fraud. This score will be
|
31
|
+
# checked when `Hamburglar::Report#fraud?` is called, unless
|
32
|
+
# `config.fraud_proc` is set
|
33
|
+
#
|
34
|
+
# Example:
|
35
|
+
# # Set fraud score
|
36
|
+
# config.fraud_score = 5
|
37
|
+
#
|
38
|
+
# # Get fraud score
|
39
|
+
# config.fraud_score
|
5
40
|
attr_accessor :fraud_score
|
41
|
+
|
42
|
+
# An optional Proc that will be used to evaluate
|
43
|
+
# `Hamburglar::Report#fraud?` if set
|
44
|
+
#
|
45
|
+
# Example:
|
46
|
+
# # Set proc
|
47
|
+
# config.fraud_proc = lambda { |report| report.distance > 500 }
|
48
|
+
#
|
49
|
+
# # Get proc
|
50
|
+
# config.fraud_proc
|
6
51
|
attr_accessor :fraud_proc
|
7
52
|
|
53
|
+
# Create a new Config instance and set some defaults
|
8
54
|
def initialize
|
9
55
|
@gateway = :min_fraud
|
10
56
|
@credentials = {}
|
data/lib/hamburglar/gateways.rb
CHANGED
@@ -44,6 +44,11 @@ module Hamburglar
|
|
44
44
|
:accept_language
|
45
45
|
].freeze
|
46
46
|
end
|
47
|
+
|
48
|
+
def initialize(params = {})
|
49
|
+
params[:i] = params.delete(:ip) if params[:ip]
|
50
|
+
super params
|
51
|
+
end
|
47
52
|
end
|
48
53
|
|
49
54
|
# The TelephoneVerification class handles fraud verification
|
@@ -61,6 +66,11 @@ module Hamburglar
|
|
61
66
|
def optional_params
|
62
67
|
[:l, :phone, :verify_code].freeze
|
63
68
|
end
|
69
|
+
|
70
|
+
def initialize(params = {})
|
71
|
+
params[:l] = params.delete(:license_key) if params[:license_key]
|
72
|
+
super params
|
73
|
+
end
|
64
74
|
end
|
65
75
|
|
66
76
|
end
|
data/lib/hamburglar/version.rb
CHANGED
metadata
CHANGED
@@ -1,109 +1,107 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: hamburglar
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.1
|
4
5
|
prerelease:
|
5
|
-
version: 0.1.0
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Joshua Priddle
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
dependencies:
|
16
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-02-03 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
17
15
|
name: rspec
|
18
|
-
|
19
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &21584760 !ruby/object:Gem::Requirement
|
20
17
|
none: false
|
21
|
-
requirements:
|
18
|
+
requirements:
|
22
19
|
- - ~>
|
23
|
-
- !ruby/object:Gem::Version
|
24
|
-
version:
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '2.6'
|
25
22
|
type: :development
|
26
|
-
version_requirements: *id001
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: rake
|
29
23
|
prerelease: false
|
30
|
-
|
24
|
+
version_requirements: *21584760
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rake
|
27
|
+
requirement: &21584260 !ruby/object:Gem::Requirement
|
31
28
|
none: false
|
32
|
-
requirements:
|
29
|
+
requirements:
|
33
30
|
- - ~>
|
34
|
-
- !ruby/object:Gem::Version
|
35
|
-
version: 0.
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 0.9.2.2
|
36
33
|
type: :development
|
37
|
-
version_requirements: *id002
|
38
|
-
- !ruby/object:Gem::Dependency
|
39
|
-
name: fakeweb
|
40
34
|
prerelease: false
|
41
|
-
|
35
|
+
version_requirements: *21584260
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: fakeweb
|
38
|
+
requirement: &21583660 !ruby/object:Gem::Requirement
|
42
39
|
none: false
|
43
|
-
requirements:
|
40
|
+
requirements:
|
44
41
|
- - ~>
|
45
|
-
- !ruby/object:Gem::Version
|
42
|
+
- !ruby/object:Gem::Version
|
46
43
|
version: 1.3.0
|
47
44
|
type: :development
|
48
|
-
version_requirements: *id003
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
name: vcr
|
51
45
|
prerelease: false
|
52
|
-
|
46
|
+
version_requirements: *21583660
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: vcr
|
49
|
+
requirement: &21583080 !ruby/object:Gem::Requirement
|
53
50
|
none: false
|
54
|
-
requirements:
|
51
|
+
requirements:
|
55
52
|
- - ~>
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
version:
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.10'
|
58
55
|
type: :development
|
59
|
-
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *21583080
|
60
58
|
description: Hamburglar helps you prevent fraudulent orders
|
61
59
|
email: jpriddle@site5.com
|
62
60
|
executables: []
|
63
|
-
|
64
61
|
extensions: []
|
65
|
-
|
66
|
-
extra_rdoc_files:
|
62
|
+
extra_rdoc_files:
|
67
63
|
- README.markdown
|
68
|
-
files:
|
64
|
+
files:
|
69
65
|
- Rakefile
|
70
66
|
- README.markdown
|
71
|
-
- lib/cacert.pem
|
72
67
|
- lib/hamburglar/config.rb
|
73
|
-
- lib/hamburglar/errors.rb
|
74
|
-
- lib/hamburglar/gateways/base.rb
|
75
|
-
- lib/hamburglar/gateways/max_mind.rb
|
76
68
|
- lib/hamburglar/gateways.rb
|
69
|
+
- lib/hamburglar/errors.rb
|
77
70
|
- lib/hamburglar/report.rb
|
78
71
|
- lib/hamburglar/version.rb
|
72
|
+
- lib/hamburglar/gateways/max_mind.rb
|
73
|
+
- lib/hamburglar/gateways/base.rb
|
79
74
|
- lib/hamburglar.rb
|
80
|
-
|
75
|
+
- lib/cacert.pem
|
81
76
|
homepage: https://github.com/site5/hamburglar
|
82
77
|
licenses: []
|
83
|
-
|
84
78
|
post_install_message:
|
85
|
-
rdoc_options:
|
79
|
+
rdoc_options:
|
86
80
|
- --charset=UTF-8
|
87
|
-
require_paths:
|
81
|
+
require_paths:
|
88
82
|
- lib
|
89
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
83
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
90
84
|
none: false
|
91
|
-
requirements:
|
92
|
-
- -
|
93
|
-
- !ruby/object:Gem::Version
|
94
|
-
version:
|
95
|
-
|
85
|
+
requirements:
|
86
|
+
- - ! '>='
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0'
|
89
|
+
segments:
|
90
|
+
- 0
|
91
|
+
hash: 2236720283326898591
|
92
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
96
93
|
none: false
|
97
|
-
requirements:
|
98
|
-
- -
|
99
|
-
- !ruby/object:Gem::Version
|
100
|
-
version:
|
94
|
+
requirements:
|
95
|
+
- - ! '>='
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
98
|
+
segments:
|
99
|
+
- 0
|
100
|
+
hash: 2236720283326898591
|
101
101
|
requirements: []
|
102
|
-
|
103
102
|
rubyforge_project:
|
104
|
-
rubygems_version: 1.
|
103
|
+
rubygems_version: 1.8.11
|
105
104
|
signing_key:
|
106
105
|
specification_version: 3
|
107
106
|
summary: Hamburglar helps you prevent fraudulent orders
|
108
107
|
test_files: []
|
109
|
-
|