yieldmanager 0.9.10 → 0.9.11
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/.travis.yml +2 -0
- data/README.md +23 -1
- data/lib/yieldmanager/client.rb +15 -0
- data/lib/yieldmanager/version.rb +1 -1
- data/spec/yieldmanager/client_spec.rb +20 -0
- metadata +20 -5
- checksums.yaml +0 -15
data/.travis.yml
CHANGED
@@ -2,6 +2,7 @@ language: ruby
|
|
2
2
|
rvm:
|
3
3
|
- 1.9.3
|
4
4
|
- 2.0
|
5
|
+
- 2.1
|
5
6
|
- jruby-19mode
|
6
7
|
env:
|
7
8
|
global:
|
@@ -9,3 +10,4 @@ env:
|
|
9
10
|
- secure: ZFxeI+npRXNbhQNIWNu1/MOl6fbNt84kD7AJF62E/LfjEVQZKohm6Zfm2pUrfAF7UWGnpb/ZYDusj3EnzazyUvfkd8Gj40XWXwjv0jvfnV3p8yUkAIbHKlEQqKWnbppMM7i0z+uAyJW1VFU/H50ZiuaPXTdB4LzJXH2crJQXnaQ=
|
10
11
|
- secure: A8iYjMBh3OPznTKD/rPztz3tWGBrdJzmlakf3JrTLLWfHHxCE+lHip/Z/EVvTb3ec37owNjh0W8Z8yTPkz54FM++tM/t/W/eR8c71y2V4SI6ln+0wv5Uh5WNqVYpCsAn1DiZ3W4j1LpMGKbnw5ShyV89wfefC2JV55jQorQbth8=
|
11
12
|
- secure: TE+/zUZh6brUT4q/oIKqgQH8P4mMPdeav+gUiRvkh5mtwX0HCPMW1Eq7+AoaxsTvksQfUbQLaObGGuQ3xn6ZkiE98lG6y1rk/3Q7keZLQ7zHDP2ucxAtRS/YBTKlcY5yVaj3oRoG4J0XGvN18YNXKB7jRb95HsIRIpSVmvbDjKA=
|
13
|
+
- secure: T0AM8anAGrZom/gGoOQPwsDkpP0yQWw5MMs0+GCHJTut0GURMJdbPy7S7UA8YE6PwRhvKRA7Jp//QUnWWq21152u+b25RwvOIXXeGqfDGHgp9Y8n0MMB8yL6GM3+c7gKTbAf544mkzjTWEQZOrTmeqtN91LstVz5W5RjqN5xkRU=
|
data/README.md
CHANGED
@@ -21,7 +21,7 @@ Yieldmanager is available as a gem for easy installation.
|
|
21
21
|
sudo gem install yieldmanager
|
22
22
|
```
|
23
23
|
|
24
|
-
or if you're using [RVM](https://rvm.
|
24
|
+
or if you're using [RVM](https://rvm.io/) (and why on earth wouldn't you?)
|
25
25
|
|
26
26
|
```
|
27
27
|
gem install yieldmanager
|
@@ -100,6 +100,28 @@ SOAP parser will interpret the returned SOAP object as
|
|
100
100
|
an AR Creative object, resulting in bizarre errors. Uniquely
|
101
101
|
re-name your AR object to eliminate the conflict.
|
102
102
|
|
103
|
+
### WSDL validation checks
|
104
|
+
|
105
|
+
**NOTE** this feature is not thread-safe!
|
106
|
+
|
107
|
+
Due to an unknown bug, soap4r occasionally reports that a field is required when it really isn't. If you get an error along the lines of
|
108
|
+
|
109
|
+
```
|
110
|
+
XSD::ValueSpaceError: {https://api.yieldmanager.com/types}enum_ad_tag_type: cannot accept ''
|
111
|
+
```
|
112
|
+
|
113
|
+
...you can disable this checking temporarily by calling
|
114
|
+
|
115
|
+
```
|
116
|
+
@ym.disable_check_restriction
|
117
|
+
```
|
118
|
+
|
119
|
+
When you're done with the call, re-enable it using
|
120
|
+
|
121
|
+
```
|
122
|
+
@ym.enable_check_restriction
|
123
|
+
```
|
124
|
+
|
103
125
|
### Pagination
|
104
126
|
|
105
127
|
Some calls return datasets too large to retrieve all at once.
|
data/lib/yieldmanager/client.rb
CHANGED
@@ -45,9 +45,11 @@ end
|
|
45
45
|
|
46
46
|
|
47
47
|
# Monkey-patch to eliminate bogus "cannot be null" errors from YM wsdl
|
48
|
+
# "SKIP" is controlled via (enable|disable)_check_restriction methods
|
48
49
|
class WSDL::XMLSchema::SimpleType
|
49
50
|
private
|
50
51
|
def check_restriction(value)
|
52
|
+
return value if ENV["YIELDMANAGER_CHECK_RESTRICTION"] == "SKIP"
|
51
53
|
unless @restriction.valid?(value) || @name.to_s =~ /(enum_creative_third_party_types|enum_ym_numbers_difference)/
|
52
54
|
raise XSD::ValueSpaceError.new("#{@name}: cannot accept '#{value}'")
|
53
55
|
end
|
@@ -177,6 +179,19 @@ module Yieldmanager
|
|
177
179
|
report
|
178
180
|
end
|
179
181
|
|
182
|
+
# Disable WSDL restriction checking until re-enabled
|
183
|
+
# Some services complain incorrectly about nillable fields requiring values
|
184
|
+
# Disabling this checking allows them to pass properly
|
185
|
+
def disable_check_restriction
|
186
|
+
ENV["YIELDMANAGER_CHECK_RESTRICTION"] = "SKIP"
|
187
|
+
end
|
188
|
+
|
189
|
+
# Enable WSDL restriction checking (it's on by default)
|
190
|
+
# This is only needed when you've explicitly disabled the behavior previously
|
191
|
+
def enable_check_restriction
|
192
|
+
ENV["YIELDMANAGER_CHECK_RESTRICTION"] = nil
|
193
|
+
end
|
194
|
+
|
180
195
|
def self.api_version
|
181
196
|
version_file = "API_VERSION"
|
182
197
|
path = File.join(File.dirname(__FILE__), '..', '..', version_file)
|
data/lib/yieldmanager/version.rb
CHANGED
@@ -139,6 +139,26 @@ describe "A new Yieldmanager client" do
|
|
139
139
|
expect(e.message).not_to match(/enum_ym_numbers_difference: cannot accept ''/)
|
140
140
|
end
|
141
141
|
end
|
142
|
+
|
143
|
+
it "skips check_restriction when necessary" do
|
144
|
+
@ym.session do |t|
|
145
|
+
expect{ get_pub_tags(t) }.to raise_error(/enum_ad_tag_type: cannot accept ''/)
|
146
|
+
|
147
|
+
begin
|
148
|
+
@ym.disable_check_restriction
|
149
|
+
get_pub_tags(t)
|
150
|
+
ensure
|
151
|
+
@ym.enable_check_restriction
|
152
|
+
end
|
153
|
+
|
154
|
+
expect{ get_pub_tags(t) }.to raise_error(/enum_ad_tag_type: cannot accept ''/)
|
155
|
+
end
|
156
|
+
end
|
157
|
+
|
158
|
+
def get_pub_tags t
|
159
|
+
id = ENV["YIELDMANAGER_PUBLISHER_SECTION_ID"].to_i
|
160
|
+
@ym.entity.getPubAdTags(t, [id], { banners_size_ids: [2,6,10] })
|
161
|
+
end
|
142
162
|
|
143
163
|
describe "A Yieldmanager report" do
|
144
164
|
|
metadata
CHANGED
@@ -1,18 +1,20 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yieldmanager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.11
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Bill Gathen
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date:
|
12
|
+
date: 2014-01-06 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: rake
|
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: :development
|
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: rspec
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
35
|
- - ! '>='
|
32
36
|
- !ruby/object:Gem::Version
|
@@ -34,6 +38,7 @@ dependencies:
|
|
34
38
|
type: :development
|
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
|
@@ -41,6 +46,7 @@ dependencies:
|
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: rdoc
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
51
|
- - ! '>='
|
46
52
|
- !ruby/object:Gem::Version
|
@@ -48,6 +54,7 @@ dependencies:
|
|
48
54
|
type: :development
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
59
|
- - ! '>='
|
53
60
|
- !ruby/object:Gem::Version
|
@@ -55,6 +62,7 @@ dependencies:
|
|
55
62
|
- !ruby/object:Gem::Dependency
|
56
63
|
name: nokogiri
|
57
64
|
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
58
66
|
requirements:
|
59
67
|
- - ! '>='
|
60
68
|
- !ruby/object:Gem::Version
|
@@ -62,6 +70,7 @@ dependencies:
|
|
62
70
|
type: :runtime
|
63
71
|
prerelease: false
|
64
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
65
74
|
requirements:
|
66
75
|
- - ! '>='
|
67
76
|
- !ruby/object:Gem::Version
|
@@ -69,6 +78,7 @@ dependencies:
|
|
69
78
|
- !ruby/object:Gem::Dependency
|
70
79
|
name: mini_portile
|
71
80
|
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
72
82
|
requirements:
|
73
83
|
- - '='
|
74
84
|
- !ruby/object:Gem::Version
|
@@ -76,6 +86,7 @@ dependencies:
|
|
76
86
|
type: :runtime
|
77
87
|
prerelease: false
|
78
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
79
90
|
requirements:
|
80
91
|
- - '='
|
81
92
|
- !ruby/object:Gem::Version
|
@@ -83,6 +94,7 @@ dependencies:
|
|
83
94
|
- !ruby/object:Gem::Dependency
|
84
95
|
name: soap4r
|
85
96
|
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
86
98
|
requirements:
|
87
99
|
- - '='
|
88
100
|
- !ruby/object:Gem::Version
|
@@ -90,6 +102,7 @@ dependencies:
|
|
90
102
|
type: :runtime
|
91
103
|
prerelease: false
|
92
104
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
93
106
|
requirements:
|
94
107
|
- - '='
|
95
108
|
- !ruby/object:Gem::Version
|
@@ -137,26 +150,27 @@ files:
|
|
137
150
|
homepage: http://github.com/billgathen/yieldmanager
|
138
151
|
licenses:
|
139
152
|
- MIT
|
140
|
-
metadata: {}
|
141
153
|
post_install_message:
|
142
154
|
rdoc_options: []
|
143
155
|
require_paths:
|
144
156
|
- lib
|
145
157
|
required_ruby_version: !ruby/object:Gem::Requirement
|
158
|
+
none: false
|
146
159
|
requirements:
|
147
160
|
- - ! '>='
|
148
161
|
- !ruby/object:Gem::Version
|
149
162
|
version: '0'
|
150
163
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
164
|
+
none: false
|
151
165
|
requirements:
|
152
166
|
- - ! '>='
|
153
167
|
- !ruby/object:Gem::Version
|
154
168
|
version: '0'
|
155
169
|
requirements: []
|
156
170
|
rubyforge_project:
|
157
|
-
rubygems_version:
|
171
|
+
rubygems_version: 1.8.23
|
158
172
|
signing_key:
|
159
|
-
specification_version:
|
173
|
+
specification_version: 3
|
160
174
|
summary: YieldManager API Tool
|
161
175
|
test_files:
|
162
176
|
- spec/patch_detector_spec.rb
|
@@ -165,3 +179,4 @@ test_files:
|
|
165
179
|
- spec/spec_helper.rb
|
166
180
|
- spec/yieldmanager/client_spec.rb
|
167
181
|
- spec/yieldmanager/report_spec.rb
|
182
|
+
has_rdoc:
|
checksums.yaml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
---
|
2
|
-
!binary "U0hBMQ==":
|
3
|
-
metadata.gz: !binary |-
|
4
|
-
ZjcwYTg3N2NkMTEzOWJkMjRiNzRjMDljNjIyZjE4ZWVjNzg3YmFjOA==
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
YzEzZGViZDU5OGM1MGQ5NDJjNzc3YzVlMDAzNGZjYzAwZDhmN2JlYw==
|
7
|
-
SHA512:
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
ZjJhNTkxOWZmNjRhMWI3NzU2NWMzY2I4MzMxMTdkNzhkNDE4YzgzNjcxYmZm
|
10
|
-
YzhhYTllN2E2OTkxODlhYWU1ZTIzZGUxYzc0MjUxZGQzZTlmZDgzMTY1ZWM2
|
11
|
-
ZTA5YWNlMThhZDhhNzExOWE3MWMzNzNkZWRmNjk4ODI0OGYyM2Q=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
MDYxMmFkOWY2NTcyNDlhNjUyYzk3MjI1NDdkNDU1YjBhMTA5N2QxMjMwOGJh
|
14
|
-
MzQ2NzNkNTU2YmM2Y2ViM2UwN2I5MjhmZDkzMjIzOGIxNWNjNWQ3ZDliMzI1
|
15
|
-
MGJmNzEzNzhkMzI2ZDJkZWY5NjBmYjdlMmY5NTgzYmE2ZDg0ZDE=
|