hasoffers 0.1.5 → 0.1.6
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/CHANGELOG +6 -1
- data/Gemfile.lock +1 -1
- data/lib/hasoffers/advertiser.rb +2 -2
- data/lib/hasoffers/affiliate_billing.rb +13 -4
- data/lib/hasoffers/report.rb +9 -3
- data/lib/hasoffers/response.rb +12 -6
- data/lib/hasoffers/version.rb +1 -1
- metadata +30 -9
data/CHANGELOG
CHANGED
@@ -1,5 +1,10 @@
|
|
1
|
+
== Version 0.1.6
|
2
|
+
* Fix issues with error hash on Response object
|
3
|
+
* Fix issues that occur when sending GET requests over a proxy, switched
|
4
|
+
to POST params where possible
|
5
|
+
|
1
6
|
== Version 0.1.4
|
2
|
-
|
7
|
+
* Create a class method to get and set the @@base_uri, with tests
|
3
8
|
|
4
9
|
== Version 0.1.3
|
5
10
|
* Bug fix - it's possible for AffiliateBilling to return an array of nil, instead
|
data/Gemfile.lock
CHANGED
data/lib/hasoffers/advertiser.rb
CHANGED
@@ -7,7 +7,7 @@ module HasOffers
|
|
7
7
|
class << self
|
8
8
|
|
9
9
|
def find_all(params = {})
|
10
|
-
|
10
|
+
post_request(Target, 'findAll', params)
|
11
11
|
end
|
12
12
|
|
13
13
|
def create(data, return_object = false)
|
@@ -26,4 +26,4 @@ module HasOffers
|
|
26
26
|
|
27
27
|
end
|
28
28
|
|
29
|
-
end
|
29
|
+
end
|
@@ -6,9 +6,12 @@ module HasOffers
|
|
6
6
|
|
7
7
|
class << self
|
8
8
|
|
9
|
+
# Jon Phenow @ 06/13/12
|
10
|
+
# Switched this to use POST because of some weird issues with sending
|
11
|
+
# from behind a proxy
|
9
12
|
def find_invoice_stats(params)
|
10
13
|
requires!(params, %w[affiliate_id end_date])
|
11
|
-
|
14
|
+
post_request(Target, 'findInvoiceStats', params)
|
12
15
|
end
|
13
16
|
|
14
17
|
def simplify_response_data data
|
@@ -22,8 +25,11 @@ module HasOffers
|
|
22
25
|
data.map { |id, invoice_data| invoice_data["AffiliateInvoice"] }
|
23
26
|
end
|
24
27
|
|
28
|
+
# Jon Phenow @ 06/13/12
|
29
|
+
# Switched this to use POST because of some weird issues with sending
|
30
|
+
# from behind a proxy
|
25
31
|
def find_all_invoices(params)
|
26
|
-
response =
|
32
|
+
response = post_request(Target, 'findAllInvoices', params)
|
27
33
|
if response.success?
|
28
34
|
# strip out the clutter
|
29
35
|
response.set_data simplify_response_data(response.data)
|
@@ -31,9 +37,12 @@ module HasOffers
|
|
31
37
|
response
|
32
38
|
end
|
33
39
|
|
40
|
+
# Jon Phenow @ 06/13/12
|
41
|
+
# Switched this to use POST because of some weird issues with sending
|
42
|
+
# from behind a proxy
|
34
43
|
def find_all_invoices_by_ids(ids, params = {})
|
35
44
|
params['ids'] = ids
|
36
|
-
response =
|
45
|
+
response = post_request(Target, 'findAllInvoicesByIds', params)
|
37
46
|
if response.success?
|
38
47
|
# strip out the clutter
|
39
48
|
response.set_data simplify_response_data(response.data)
|
@@ -57,4 +66,4 @@ module HasOffers
|
|
57
66
|
|
58
67
|
end
|
59
68
|
|
60
|
-
end
|
69
|
+
end
|
data/lib/hasoffers/report.rb
CHANGED
@@ -6,9 +6,12 @@ module HasOffers
|
|
6
6
|
|
7
7
|
class << self
|
8
8
|
|
9
|
+
# Jon Phenow @ 06/13/12
|
10
|
+
# Switched this to use POST because of some weird issues with sending
|
11
|
+
# from behind a proxy
|
9
12
|
def get_stats(params)
|
10
13
|
requires!(params, %w[fields])
|
11
|
-
response =
|
14
|
+
response = post_request(Target, 'getStats', params)
|
12
15
|
if response.success?
|
13
16
|
# strip out the 'Stat' keys which is just extra clutter
|
14
17
|
data = response.data.map do |stat|
|
@@ -19,8 +22,11 @@ module HasOffers
|
|
19
22
|
response
|
20
23
|
end
|
21
24
|
|
25
|
+
# Jon Phenow @ 06/13/12
|
26
|
+
# Switched this to use POST because of some weird issues with sending
|
27
|
+
# from behind a proxy
|
22
28
|
def get_conversions(params)
|
23
|
-
response =
|
29
|
+
response = post_request(Target, 'getConversions', params)
|
24
30
|
if response.success?
|
25
31
|
# strip out the 'Stat' keys which is just extra clutter
|
26
32
|
data = response.data.map do |stat|
|
@@ -35,4 +41,4 @@ module HasOffers
|
|
35
41
|
|
36
42
|
end
|
37
43
|
|
38
|
-
end
|
44
|
+
end
|
data/lib/hasoffers/response.rb
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
module HasOffers
|
2
|
-
|
3
2
|
class Response
|
4
|
-
|
5
3
|
attr_reader :test, :body, :http_status_code, :http_message, :http_headers
|
6
4
|
|
7
5
|
def success?
|
@@ -56,9 +54,9 @@ module HasOffers
|
|
56
54
|
|
57
55
|
def error_messages
|
58
56
|
if data.is_a? Hash and data["errors"] and data["errors"]["error"]
|
59
|
-
data["errors"]["error"]
|
57
|
+
get_error_values data["errors"]["error"]
|
60
58
|
elsif @body["response"]["errors"]
|
61
|
-
@body["response"]["errors"]
|
59
|
+
get_error_values @body["response"]["errors"]
|
62
60
|
else
|
63
61
|
[]
|
64
62
|
end
|
@@ -83,6 +81,14 @@ module HasOffers
|
|
83
81
|
@body['response']['data'] and @body['response']['data'].is_a?(Hash) and @body['response']['data'].has_key?('pageCount')
|
84
82
|
end
|
85
83
|
|
86
|
-
|
84
|
+
private
|
87
85
|
|
88
|
-
|
86
|
+
def get_error_values(obj)
|
87
|
+
if obj.is_a? Hash
|
88
|
+
obj.values
|
89
|
+
elsif obj.is_a? Array
|
90
|
+
obj.map { |error| error["err_msg"] || error["publicMessage"] }
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
data/lib/hasoffers/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hasoffers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-06-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: crack
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: yajl-ruby
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: '0'
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: rake
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
@@ -43,7 +53,12 @@ dependencies:
|
|
43
53
|
version: '0'
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
47
62
|
description: Implementation of the HasOffers API for affiliate advertising.
|
48
63
|
email:
|
49
64
|
- luke.ludwig@tstmedia.com
|
@@ -91,15 +106,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
91
106
|
- - ! '>='
|
92
107
|
- !ruby/object:Gem::Version
|
93
108
|
version: '0'
|
109
|
+
segments:
|
110
|
+
- 0
|
111
|
+
hash: 869840649197282084
|
94
112
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
95
113
|
none: false
|
96
114
|
requirements:
|
97
115
|
- - ! '>='
|
98
116
|
- !ruby/object:Gem::Version
|
99
117
|
version: '0'
|
118
|
+
segments:
|
119
|
+
- 0
|
120
|
+
hash: 869840649197282084
|
100
121
|
requirements: []
|
101
122
|
rubyforge_project: hasoffers
|
102
|
-
rubygems_version: 1.8.
|
123
|
+
rubygems_version: 1.8.24
|
103
124
|
signing_key:
|
104
125
|
specification_version: 3
|
105
126
|
summary: Implementation of the HasOffers API for affiliate advertising.
|