maxmind 0.1.2 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
data/.document DELETED
@@ -1,5 +0,0 @@
1
- README.rdoc
2
- lib/**/*.rb
3
- bin/*
4
- features/**/*.feature
5
- LICENSE
data/README.markdown DELETED
@@ -1,93 +0,0 @@
1
- maxmind
2
- =======
3
-
4
- Interfaces with Maxmind's minFraud anti-fraud service.
5
-
6
- Installation
7
- ------------
8
- gem install adam12-maxmind --source=http://gems.github.com
9
-
10
-
11
- Dependencies
12
- ------------
13
- * [httparty](http://github.com/jnunemaker/httparty/)
14
- * [shoulda](http://github.com/thoughtbot/shoulda/) (used in tests only)
15
- * [matchy](http://github.com/jeremymcanally/matchy/) (used in tests only)
16
-
17
-
18
- Usage
19
- -----
20
-
21
- ### Minimum Required ###
22
- These are the only required fields to acquire a response from Maxmind.
23
-
24
- request = Maxmind::Request.new('LICENSE_KEY',
25
- :client_ip => '24.24.24.24',
26
- :city => 'New York',
27
- :region => 'NY',
28
- :postal => '11434',
29
- :country => 'US')
30
-
31
- response = Maxmind::Response.new(request.query)
32
-
33
-
34
- ### Recommended ###
35
- For increased accuracy, these are the recommended fields to submit to Maxmind. The additional
36
- fields here are optional and can be all or none.
37
-
38
- request = Maxmind::Request.new('LICENSE_KEY',
39
- :client_ip => '24.24.24.24',
40
- :city => 'New York',
41
- :region => 'NY',
42
- :postal => '11434',
43
- :country => 'US',
44
- :domain => 'yahoo.com',
45
- :bin => '549099',
46
- :forwarded_ip => '24.24.24.25',
47
- :email => 'test@test.com',
48
- :username => 'test_carder_username',
49
- :password => 'test_carder_password')
50
-
51
- response = Maxmind::Response.new(request.query)
52
-
53
- ### Thorough ###
54
-
55
- request = Maxmind::Request.new('LICENSE_KEY',
56
- :client_ip => '24.24.24.24',
57
- :city => 'New York',
58
- :region => 'NY',
59
- :postal => '11434',
60
- :country => 'US',
61
- :domain => 'yahoo.com',
62
- :bin => '549099',
63
- :forwarded_ip => '24.24.24.25',
64
- :email => 'test@test.com',
65
- :username => 'test_carder_username',
66
- :password => 'test_carder_password'
67
- :bin_name => 'MBNA America Bank',
68
- :bin_phone => '800-421-2110',
69
- :cust_phone => '212-242',
70
- :requested_type => 'premium',
71
- :shipping_address => '145-50 157th Street',
72
- :shipping_city => 'Jamaica',
73
- :shipping_region => 'NY',
74
- :shipping_postal => '11434',
75
- :shipping_country => 'US',
76
- :transaction_id => '1234',
77
- :session_id => 'abcd9876',
78
- :user_agent => 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_5; en-us) AppleWebKit/525.18 (KHTML, like Gecko) Version/3.1.2 Safari/525.20.1',
79
- :accept_language => 'en-us')
80
-
81
- response = Maxmind::Response.new(request.query)
82
-
83
- Also see examples/example.rb
84
-
85
-
86
- Reference
87
- ---------
88
- [minFraud API Reference](http://www.maxmind.com/app/ccv)
89
-
90
-
91
- Copyright
92
- ---------
93
- Copyright (c) 2009 Adam. See LICENSE for details.
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.1.2
data/test/maxmind_test.rb DELETED
@@ -1,129 +0,0 @@
1
- require 'test_helper'
2
-
3
- REQUIRED_FIELDS = {
4
- :client_ip => '24.24.24.24',
5
- :city => 'New York',
6
- :region => 'NY',
7
- :postal => '11434',
8
- :country => 'US'
9
- }
10
-
11
- RECOMMENDED_FIELDS = {
12
- :domain => 'yahoo.com',
13
- :bin => '549099',
14
- :forwarded_ip => '24.24.24.25',
15
- :email => 'test@test.com',
16
- :username => 'test_carder_username',
17
- :password => 'test_carder_password'
18
- }
19
-
20
- OPTIONAL_FIELDS = {
21
- :bin_name => 'MBNA America Bank',
22
- :bin_phone => '800-421-2110',
23
- :cust_phone => '212-242',
24
- :requested_type => 'premium',
25
- :shipping_address => '145-50 157th Street',
26
- :shipping_city => 'Jamaica',
27
- :shipping_region => 'NY',
28
- :shipping_postal => '11434',
29
- :shipping_country => 'US',
30
- :transaction_id => '1234',
31
- :session_id => 'abcd9876',
32
- :user_agent => 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_5; en-us) AppleWebKit/525.18 (KHTML, like Gecko) Version/3.1.2 Safari/525.20.1',
33
- :accept_language => 'en-us'
34
- }
35
-
36
- class MaxmindTest < Test::Unit::TestCase
37
- context "New Request object" do
38
- setup do
39
- @request = Maxmind::Request.new('key', REQUIRED_FIELDS)
40
- end
41
-
42
- should "require a key" do
43
- lambda { Maxmind::Request.new }.should raise_error(ArgumentError)
44
-
45
- Maxmind::Request.new('key').license_key.should == 'key'
46
- end
47
-
48
- should "require client IP" do
49
- lambda { @request.client_ip = nil; @request.query }.should raise_error(ArgumentError)
50
- end
51
-
52
- should "require city" do
53
- lambda { @request.city = nil; @request.query }.should raise_error(ArgumentError)
54
- end
55
-
56
- should "require region" do
57
- lambda { @request.region = nil; @request.query }.should raise_error(ArgumentError)
58
- end
59
-
60
- should "require postal" do
61
- lambda { @request.postal = nil; @request.query }.should raise_error(ArgumentError)
62
- end
63
-
64
- should "require country" do
65
- lambda { @request.country = nil; @request.query }.should raise_error(ArgumentError)
66
- end
67
-
68
- should "convert username to MD5" do
69
- @request.username = 'testuser'
70
- @request.username.should == '5d9c68c6c50ed3d02a2fcf54f63993b6'
71
- end
72
-
73
- should "convert password to MD5" do
74
- @request.password = 'testpassword'
75
- @request.password.should == 'e16b2ab8d12314bf4efbd6203906ea6c'
76
- end
77
-
78
- should "convert email to MD5" do
79
- @request.email = 'test@test.com'
80
- @request.email.should == 'b642b4217b34b1e8d3bd915fc65c4452'
81
- end
82
- end
83
-
84
- #context "Requesting" do
85
- # setup do
86
- # request = Maxmind::Request.new('LICENSE_KEY', REQUIRED_FIELDS.merge(RECOMMENDED_FIELDS).merge(OPTIONAL_FIELDS))
87
- # FakeWeb.register_uri(:get, "http://minfraud3.maxmind.com/app/ccv2r?" + request.query(true), :string => File.read(File.join(File.dirname(__FILE__), "fixtures/basic.txt")))
88
- #
89
- # @response = Maxmind::Response.new(request)
90
- # end
91
- #end
92
-
93
- context "Response" do
94
- setup do
95
- request = Maxmind::Request.new('LICENSE_KEY', REQUIRED_FIELDS.merge(RECOMMENDED_FIELDS).merge(OPTIONAL_FIELDS))
96
- FakeWeb.register_uri(:get, "http://minfraud3.maxmind.com/app/ccv2r?" + request.query(true), :string => File.read(File.join(File.dirname(__FILE__), "fixtures/response.txt")))
97
-
98
- @response = Maxmind::Response.new(request.query)
99
- end
100
-
101
- should "require a response" do
102
- lambda { Maxmind::Response.new }.should raise_error(ArgumentError)
103
- end
104
-
105
- should "have a distance" do
106
- @response.distance.should == 329
107
- end
108
-
109
- should "have a maxmind ID" do
110
- @response.maxmind_id.should == '9VSOSDE2'
111
- end
112
-
113
- should "have a risk score" do
114
- @response.risk_score.should == 2.0
115
- end
116
-
117
- should "have a score" do
118
- @response.score.should == 7.66
119
- end
120
-
121
- should "have queries remaining" do
122
- @response.queries_remaining.should == 955
123
- end
124
-
125
- should "have an explanation" do
126
- @response.explanation.should_not be_nil
127
- end
128
- end
129
- end
data/test/test_helper.rb DELETED
@@ -1,14 +0,0 @@
1
- require 'rubygems'
2
- require 'test/unit'
3
- require 'shoulda'
4
- require 'matchy'
5
- require 'fakeweb'
6
-
7
- FakeWeb.allow_net_connect = false
8
-
9
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
10
- $LOAD_PATH.unshift(File.dirname(__FILE__))
11
- require 'maxmind'
12
-
13
- class Test::Unit::TestCase
14
- end