hasoffers 0.1.8 → 0.1.9

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 CHANGED
@@ -1,3 +1,9 @@
1
+ == Version 0.1.9
2
+ * Fix adding errors in has_offers_model that supports Rails 3.2 and above
3
+
4
+ == Version 0.1.8
5
+ * Unescape query string before gsubbing
6
+
1
7
  == Version 0.1.6
2
8
  * Fix issues with error hash on Response object
3
9
  * Fix issues that occur when sending GET requests over a proxy, switched
@@ -1,17 +1,27 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- hasoffers (0.1.8)
4
+ hasoffers (0.1.9)
5
+ activemodel (~> 3.2)
5
6
  crack
6
7
  yajl-ruby
7
8
 
8
9
  GEM
9
10
  remote: http://rubygems.org/
10
11
  specs:
12
+ activemodel (3.2.18)
13
+ activesupport (= 3.2.18)
14
+ builder (~> 3.0.0)
15
+ activesupport (3.2.18)
16
+ i18n (~> 0.6, >= 0.6.4)
17
+ multi_json (~> 1.0)
18
+ builder (3.0.4)
11
19
  crack (0.4.2)
12
20
  safe_yaml (~> 1.0.0)
21
+ i18n (0.6.9)
22
+ multi_json (1.10.0)
13
23
  rake (0.9.2)
14
- safe_yaml (1.0.1)
24
+ safe_yaml (1.0.3)
15
25
  yajl-ruby (1.2.0)
16
26
 
17
27
  PLATFORMS
data/Rakefile CHANGED
@@ -4,5 +4,5 @@ Bundler::GemHelper.install_tasks
4
4
  require 'rake/testtask'
5
5
 
6
6
  Rake::TestTask.new do |t|
7
- t.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
7
+ t.test_files = Dir.glob("{test,spec,features}/**/*")
8
8
  end
@@ -21,5 +21,6 @@ Gem::Specification.new do |s|
21
21
  s.require_paths = ["lib"]
22
22
  s.add_dependency 'crack'
23
23
  s.add_dependency 'yajl-ruby'
24
+ s.add_dependency 'activemodel', '~> 3.2'
24
25
  s.add_development_dependency 'rake'
25
26
  end
@@ -40,16 +40,21 @@ module HasOffersModel
40
40
  define_method("check_for_errors") do |response|
41
41
  unless response.success?
42
42
  response.error_messages.each do |error_message|
43
- self.errors.add_to_base "HasOffers API Error: #{error_message}"
43
+ new_error_message = "HasOffers API Error: #{error_message}"
44
+ if self.errors.respond_to?(:add_to_base)
45
+ self.errors.add_to_base new_error_message
46
+ else
47
+ self.errors.add :base, new_error_message
48
+ end
44
49
  end
45
50
  end
46
51
  response.success?
47
52
  end
48
53
 
49
54
  end
50
-
55
+
51
56
  end
52
-
57
+
53
58
  end
54
-
55
- end
59
+
60
+ end
@@ -1,3 +1,3 @@
1
1
  module Hasoffers
2
- VERSION = "0.1.8"
2
+ VERSION = "0.1.9"
3
3
  end
@@ -0,0 +1,34 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/test_helper')
2
+ require 'has_offers_model'
3
+
4
+ class DummyModel
5
+ include ActiveModel::Validations
6
+ include HasOffersModel
7
+ has_offers_model "Affiliate"
8
+ end
9
+
10
+ class HasOffersModelTest < Test::Unit::TestCase
11
+
12
+ def create_model
13
+ DummyModel.new
14
+ end
15
+
16
+ def failed_response
17
+ OpenStruct.new :success? => false,
18
+ :error_messages => ["All your fault"]
19
+ end
20
+
21
+ def test_instantiating_a_new_has_offers_model
22
+ assert_nothing_raised do
23
+ create_model
24
+ end
25
+ end
26
+
27
+ def test_adding_errors
28
+ model = create_model
29
+ model.check_for_errors failed_response
30
+ assert model.errors[:base].include?("HasOffers API Error: All your fault"),
31
+ "HasOffers error was not applied!"
32
+ end
33
+
34
+ end
@@ -1,7 +1,9 @@
1
1
  require "test/unit"
2
2
  require "rubygems"
3
+ require "active_model"
4
+ require 'active_support/all'
3
5
  require "hasoffers"
4
6
 
5
7
  def assert_success(response)
6
8
  assert response.success?, "Failed with error messages: #{response.error_messages}"
7
- end
9
+ end
metadata CHANGED
@@ -1,18 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hasoffers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Luke Ludwig
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-02-06 00:00:00.000000000 Z
12
+ date: 2014-05-09 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: crack
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - ! '>='
18
20
  - !ruby/object:Gem::Version
@@ -20,6 +22,7 @@ dependencies:
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
27
  - - ! '>='
25
28
  - !ruby/object:Gem::Version
@@ -27,6 +30,7 @@ dependencies:
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: yajl-ruby
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
35
  - - ! '>='
32
36
  - !ruby/object:Gem::Version
@@ -34,13 +38,31 @@ dependencies:
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
43
  - - ! '>='
39
44
  - !ruby/object:Gem::Version
40
45
  version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: activemodel
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: '3.2'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '3.2'
41
62
  - !ruby/object:Gem::Dependency
42
63
  name: rake
43
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
44
66
  requirements:
45
67
  - - ! '>='
46
68
  - !ruby/object:Gem::Version
@@ -48,6 +70,7 @@ dependencies:
48
70
  type: :development
49
71
  prerelease: false
50
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
51
74
  requirements:
52
75
  - - ! '>='
53
76
  - !ruby/object:Gem::Version
@@ -87,32 +110,40 @@ files:
87
110
  - test/affiliate_test.rb
88
111
  - test/base_test.rb
89
112
  - test/conversion_test.rb
113
+ - test/has_offers_model_test.rb
90
114
  - test/offer_test.rb
91
115
  - test/report_test.rb
92
116
  - test/test_helper.rb
93
117
  homepage: https://github.com/sportngin/hasoffers
94
118
  licenses:
95
119
  - MIT
96
- metadata: {}
97
120
  post_install_message:
98
121
  rdoc_options: []
99
122
  require_paths:
100
123
  - lib
101
124
  required_ruby_version: !ruby/object:Gem::Requirement
125
+ none: false
102
126
  requirements:
103
127
  - - ! '>='
104
128
  - !ruby/object:Gem::Version
105
129
  version: '0'
130
+ segments:
131
+ - 0
132
+ hash: -3236966753044289822
106
133
  required_rubygems_version: !ruby/object:Gem::Requirement
134
+ none: false
107
135
  requirements:
108
136
  - - ! '>='
109
137
  - !ruby/object:Gem::Version
110
138
  version: '0'
139
+ segments:
140
+ - 0
141
+ hash: -3236966753044289822
111
142
  requirements: []
112
143
  rubyforge_project: hasoffers
113
- rubygems_version: 2.0.14
144
+ rubygems_version: 1.8.23.2
114
145
  signing_key:
115
- specification_version: 4
146
+ specification_version: 3
116
147
  summary: Implementation of the HasOffers API for affiliate advertising.
117
148
  test_files:
118
149
  - test/advertiser_test.rb
@@ -120,6 +151,7 @@ test_files:
120
151
  - test/affiliate_test.rb
121
152
  - test/base_test.rb
122
153
  - test/conversion_test.rb
154
+ - test/has_offers_model_test.rb
123
155
  - test/offer_test.rb
124
156
  - test/report_test.rb
125
157
  - test/test_helper.rb
checksums.yaml DELETED
@@ -1,15 +0,0 @@
1
- ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- OGMyYjZmYTRlOTZmZjVlOThmMDc4NWMxODI4ZTdlMDUzZDc5MzljZQ==
5
- data.tar.gz: !binary |-
6
- NjYyZTY2N2E1ZmZjOWEwZTQxZTdkZjU0MzExYTViMzZjYzUxZTI4Nw==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- YWViNGIyZGRlM2I4MWFkOWJjZGE4YmQzZGJmNmMxYTVlMTI3ODBiNzViYmU0
10
- NmQzN2ExMjgzZGM5ZDA0NTA0YjFlMzAwNzU0Nzk4ZTliNjgwYThjNjlmNTJi
11
- NTFmNThlNjBkZmIyN2U4YTlkMWViNjJlMmQ1M2FjOTJhZTJjYWQ=
12
- data.tar.gz: !binary |-
13
- MzkwN2Y1MTg1ZGZkYzVkYWZmY2I2YjRkYmQ1OTUzZTA1YjFiMDM2MWM4YTY3
14
- MmEyNmM1ZmMxOTU3YzFhMTM1MDg0ZWRhNWQ0MzkyZjc1MTNkNjNhMDNhMTkz
15
- ZjQ3MzMwZjc0ZDA5MTUyMGQyZDI5NTFkOWM0OTFhNzgwYzhlZTU=