neuron-client 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/neuron-client/model/ad.rb +11 -3
- data/lib/neuron-client/model/base.rb +6 -1
- data/lib/neuron-client/model/zone.rb +20 -5
- data/lib/neuron-client/schema/common.rb +1 -1
- data/lib/neuron-client/schema/zone.rb +139 -34
- data/lib/neuron-client/version.rb +1 -1
- data/spec/lib/model/ad_spec.rb +1 -1
- data/spec/lib/model/zone_spec.rb +15 -10
- data/spec/lib/schema/zone_spec.rb +59 -9
- metadata +4 -4
@@ -68,17 +68,25 @@ module Neuron
|
|
68
68
|
|
69
69
|
STATISTIC_TYPES = %w(selections undeliveries impressions redirects clicks)
|
70
70
|
|
71
|
-
def recent(statistic,
|
71
|
+
def recent(statistic, parameters={})
|
72
72
|
connected_to_admin!
|
73
|
+
by = (parameters[:by] || parameters['by']).to_s
|
74
|
+
minutes = parameters[:minutes] || parameters['minutes']
|
75
|
+
parameters = {}
|
76
|
+
parameters['by'] = by unless by.blank?
|
77
|
+
parameters['minutes'] = minutes.to_i if minutes.to_i > 0
|
73
78
|
if validate?
|
74
79
|
unless STATISTIC_TYPES.include?(statistic.to_s)
|
75
80
|
raise "Unsupported statistic: #{statistic}"
|
76
81
|
end
|
77
|
-
unless by.
|
82
|
+
unless by.blank? || by == 'zone'
|
78
83
|
raise "Unsupported by: #{by}"
|
79
84
|
end
|
85
|
+
unless minutes.blank? || minutes.to_i > 0
|
86
|
+
raise "Unsupported minutes: #{minutes}"
|
87
|
+
end
|
80
88
|
end
|
81
|
-
|
89
|
+
|
82
90
|
connection.get("ads/#{id}/recent/#{statistic}", parameters)
|
83
91
|
end
|
84
92
|
|
@@ -95,7 +95,12 @@ module Neuron
|
|
95
95
|
# data : the serializable object that should match the given schema
|
96
96
|
def validate_against_schema!(schema_name, data)
|
97
97
|
if validate? && data.present?
|
98
|
-
|
98
|
+
begin
|
99
|
+
JSON::Validator.validate!(schema.send(schema_name), data)
|
100
|
+
rescue Exception => e
|
101
|
+
e.message << "\nSchema: #{schema.class.name}::SCHEMA.#{schema_name}\nData: #{data.inspect}"
|
102
|
+
raise e
|
103
|
+
end
|
99
104
|
end
|
100
105
|
end
|
101
106
|
|
@@ -11,7 +11,14 @@ module Neuron
|
|
11
11
|
VAST = "Vast"
|
12
12
|
RESPONSE_TYPES = [REDIRECT, IRIS, VAST]
|
13
13
|
|
14
|
-
|
14
|
+
IRIS_2_0 = '2_0'
|
15
|
+
IRIS_2_5 = '2_5'
|
16
|
+
IRIS_VERSIONS = [IRIS_2_0, IRIS_2_5]
|
17
|
+
TEMPLATE_SLUGS = ['300x250']
|
18
|
+
PLAYLIST_MODES = ['MAXI', 'MINI']
|
19
|
+
PLAYBACK_MODE_OPTIONS = [['Auto Play', 'AUTO'], ['Click To Play','CTP'], ['Rollover To Play', 'RTP']]
|
20
|
+
PLAYBACK_MODES = Hash[PLAYBACK_MODE_OPTIONS].values
|
21
|
+
OVERLAY_PROVIDERS = ['NAMI', 'PREDICTV']
|
15
22
|
|
16
23
|
ATTRIBUTES = [
|
17
24
|
:id,
|
@@ -19,12 +26,20 @@ module Neuron
|
|
19
26
|
:name,
|
20
27
|
:response_type, # string in RESPONSE_TYPES
|
21
28
|
:template_slug, # nil, or string in TEMPLATE_SLUGS
|
22
|
-
:mute, # nil, or "Yes" or "No"
|
23
|
-
:autoplay, # nil, or "Yes" or "No"
|
24
29
|
:channel, # nil, or slug
|
25
30
|
:expand, # nil, or "Yes" or "No"
|
26
|
-
:
|
27
|
-
|
31
|
+
:iris_version, # nil, or string in IRIS_VERSIONS
|
32
|
+
# Iris 2.0
|
33
|
+
:mute, # nil, or "Yes" or "No"
|
34
|
+
:autoplay, # nil, or "Yes" or "No"
|
35
|
+
# Iris 2.5
|
36
|
+
:playlist_mode, # nil, or string in PLAYLIST_MODES
|
37
|
+
:volume, # nil, or 1-100s
|
38
|
+
:color, # nil, or string (hex color - '333333')
|
39
|
+
:playback_mode, # nil, or string in PLAYBACK_MODES
|
40
|
+
:overlay_provider, # nil, or string in OVERLAY_PROVIDERS
|
41
|
+
:overlay_feed_url, # nil, or string URL
|
42
|
+
|
28
43
|
:created_at, # string, datetime in UTC
|
29
44
|
:updated_at, # string, datetime in UTC
|
30
45
|
]
|
@@ -13,7 +13,7 @@ module Neuron
|
|
13
13
|
def validate!(schema_name, data)
|
14
14
|
JSON::Validator.validate!(schema.send(schema_name), data)
|
15
15
|
rescue Exception => e
|
16
|
-
|
16
|
+
e.message << "\nSchema: #{schema.class.name}::SCHEMA.#{schema_name}\nData: #{data.inspect}"
|
17
17
|
raise e
|
18
18
|
end
|
19
19
|
end
|
@@ -17,7 +17,8 @@ module Neuron
|
|
17
17
|
@@create ||=
|
18
18
|
one_of(
|
19
19
|
create_redirect,
|
20
|
-
|
20
|
+
create_iris_2_0,
|
21
|
+
create_iris_2_5,
|
21
22
|
create_vast
|
22
23
|
)
|
23
24
|
end
|
@@ -26,7 +27,8 @@ module Neuron
|
|
26
27
|
@@show ||=
|
27
28
|
one_of(
|
28
29
|
show_redirect,
|
29
|
-
|
30
|
+
show_iris_2_0,
|
31
|
+
show_iris_2_5,
|
30
32
|
show_vast
|
31
33
|
)
|
32
34
|
end
|
@@ -35,7 +37,8 @@ module Neuron
|
|
35
37
|
@@update ||=
|
36
38
|
one_of(
|
37
39
|
update_redirect,
|
38
|
-
|
40
|
+
update_iris_2_0,
|
41
|
+
update_iris_2_5,
|
39
42
|
update_vast
|
40
43
|
)
|
41
44
|
end
|
@@ -49,17 +52,33 @@ module Neuron
|
|
49
52
|
}))
|
50
53
|
end
|
51
54
|
|
52
|
-
def
|
53
|
-
@@
|
55
|
+
def create_iris_2_0
|
56
|
+
@@create_iris_2_0 ||=
|
54
57
|
object_type("zone", merged(CREATE_PROPERTIES,{
|
55
58
|
:response_type => SCHEMA.choice_of([Neuron::Client::Zone::IRIS]),
|
59
|
+
:iris_version => SCHEMA.choice_of([Neuron::Client::Zone::IRIS_2_0], :required => false),
|
56
60
|
:template_slug => SCHEMA.choice_of(Neuron::Client::Zone::TEMPLATE_SLUGS),
|
57
|
-
:mute => SCHEMA.yes_no,
|
58
|
-
:autoplay => SCHEMA.yes_no,
|
59
61
|
:channel => SCHEMA.channel,
|
60
62
|
:expand => SCHEMA.yes_no,
|
61
|
-
:
|
62
|
-
:
|
63
|
+
:mute => SCHEMA.yes_no,
|
64
|
+
:autoplay => SCHEMA.yes_no
|
65
|
+
}))
|
66
|
+
end
|
67
|
+
|
68
|
+
def create_iris_2_5
|
69
|
+
@@create_iris_2_5 ||=
|
70
|
+
object_type("zone", merged(CREATE_PROPERTIES,{
|
71
|
+
:response_type => SCHEMA.choice_of([Neuron::Client::Zone::IRIS]),
|
72
|
+
:iris_version => SCHEMA.choice_of([Neuron::Client::Zone::IRIS_2_5]),
|
73
|
+
:template_slug => SCHEMA.choice_of(Neuron::Client::Zone::TEMPLATE_SLUGS),
|
74
|
+
:channel => SCHEMA.channel,
|
75
|
+
:expand => SCHEMA.yes_no,
|
76
|
+
:playlist_mode => SCHEMA.playlist_mode,
|
77
|
+
:volume => SCHEMA.volume,
|
78
|
+
:color => SCHEMA.color(:required => false),
|
79
|
+
:playback_mode => SCHEMA.playback_mode,
|
80
|
+
:overlay_provider => SCHEMA.overlay_provider(:required => false),
|
81
|
+
:overlay_feed_url => SCHEMA.url(:type => %w(null string), :required => false)
|
63
82
|
}))
|
64
83
|
end
|
65
84
|
|
@@ -77,17 +96,33 @@ module Neuron
|
|
77
96
|
}))
|
78
97
|
end
|
79
98
|
|
80
|
-
def
|
81
|
-
@@
|
99
|
+
def show_iris_2_0
|
100
|
+
@@show_iris_2_0 ||=
|
82
101
|
object_type("zone", merged(SHOW_PROPERTIES,{
|
83
102
|
:response_type => SCHEMA.choice_of([Neuron::Client::Zone::IRIS]),
|
103
|
+
:iris_version => SCHEMA.choice_of([Neuron::Client::Zone::IRIS_2_0], :required => false),
|
84
104
|
:template_slug => SCHEMA.choice_of(Neuron::Client::Zone::TEMPLATE_SLUGS),
|
85
|
-
:mute => SCHEMA.yes_no,
|
86
|
-
:autoplay => SCHEMA.yes_no,
|
87
105
|
:channel => SCHEMA.channel,
|
88
106
|
:expand => SCHEMA.yes_no,
|
89
|
-
:
|
90
|
-
:
|
107
|
+
:mute => SCHEMA.yes_no,
|
108
|
+
:autoplay => SCHEMA.yes_no
|
109
|
+
}))
|
110
|
+
end
|
111
|
+
|
112
|
+
def show_iris_2_5
|
113
|
+
@@show_iris_2_5 ||=
|
114
|
+
object_type("zone", merged(SHOW_PROPERTIES,{
|
115
|
+
:response_type => SCHEMA.choice_of([Neuron::Client::Zone::IRIS]),
|
116
|
+
:iris_version => SCHEMA.choice_of([Neuron::Client::Zone::IRIS_2_5]),
|
117
|
+
:template_slug => SCHEMA.choice_of(Neuron::Client::Zone::TEMPLATE_SLUGS),
|
118
|
+
:channel => SCHEMA.channel,
|
119
|
+
:expand => SCHEMA.yes_no,
|
120
|
+
:playlist_mode => SCHEMA.playlist_mode,
|
121
|
+
:volume => SCHEMA.volume,
|
122
|
+
:color => SCHEMA.color,
|
123
|
+
:playback_mode => SCHEMA.playback_mode,
|
124
|
+
:overlay_provider => SCHEMA.overlay_provider,
|
125
|
+
:overlay_feed_url => SCHEMA.url(:type => %w(null string))
|
91
126
|
}))
|
92
127
|
end
|
93
128
|
|
@@ -105,17 +140,33 @@ module Neuron
|
|
105
140
|
}))
|
106
141
|
end
|
107
142
|
|
108
|
-
def
|
109
|
-
@@
|
143
|
+
def update_iris_2_0
|
144
|
+
@@update_iris_2_0 ||=
|
110
145
|
object_type("zone", merged(UPDATE_PROPERTIES,{
|
111
146
|
:response_type => SCHEMA.choice_of([Neuron::Client::Zone::IRIS], :required => false),
|
147
|
+
:iris_version => SCHEMA.choice_of([Neuron::Client::Zone::IRIS_2_0], :required => false),
|
112
148
|
:template_slug => SCHEMA.choice_of(Neuron::Client::Zone::TEMPLATE_SLUGS, :required => false),
|
113
|
-
:mute => SCHEMA.yes_no(:required => false),
|
114
|
-
:autoplay => SCHEMA.yes_no(:required => false),
|
115
149
|
:channel => SCHEMA.channel(:required => false),
|
116
150
|
:expand => SCHEMA.yes_no(:required => false),
|
117
|
-
:
|
118
|
-
:
|
151
|
+
:mute => SCHEMA.yes_no(:required => false),
|
152
|
+
:autoplay => SCHEMA.yes_no(:required => false)
|
153
|
+
}))
|
154
|
+
end
|
155
|
+
|
156
|
+
def update_iris_2_5
|
157
|
+
@@update_iris_2_5 ||=
|
158
|
+
object_type("zone", merged(UPDATE_PROPERTIES,{
|
159
|
+
:response_type => SCHEMA.choice_of([Neuron::Client::Zone::IRIS], :required => false),
|
160
|
+
:iris_version => SCHEMA.choice_of([Neuron::Client::Zone::IRIS_2_5], :required => false),
|
161
|
+
:template_slug => SCHEMA.choice_of(Neuron::Client::Zone::TEMPLATE_SLUGS, :required => false),
|
162
|
+
:channel => SCHEMA.channel(:required => false),
|
163
|
+
:expand => SCHEMA.yes_no(:required => false),
|
164
|
+
:playlist_mode => SCHEMA.playlist_mode(:required => false),
|
165
|
+
:volume => SCHEMA.volume(:required => false),
|
166
|
+
:color => SCHEMA.color(:required => false),
|
167
|
+
:playback_mode => SCHEMA.playback_mode(:required => false),
|
168
|
+
:overlay_provider => SCHEMA.overlay_provider(:required => false),
|
169
|
+
:overlay_feed_url => SCHEMA.url(:type => %w(null string), :required => false)
|
119
170
|
}))
|
120
171
|
end
|
121
172
|
|
@@ -157,23 +208,63 @@ module Neuron
|
|
157
208
|
}, overrides)
|
158
209
|
end
|
159
210
|
|
211
|
+
def color(overrides={})
|
212
|
+
merged({
|
213
|
+
:type => %w(string null),
|
214
|
+
:format => "color",
|
215
|
+
:required => true
|
216
|
+
}, overrides)
|
217
|
+
end
|
218
|
+
|
219
|
+
def overlay_provider(overrides={})
|
220
|
+
choice_of(Neuron::Client::Zone::OVERLAY_PROVIDERS, overrides)
|
221
|
+
end
|
222
|
+
|
223
|
+
def playback_mode(overrides={})
|
224
|
+
choice_of(Neuron::Client::Zone::PLAYBACK_MODES, overrides)
|
225
|
+
end
|
226
|
+
|
227
|
+
def playlist_mode(overrides={})
|
228
|
+
choice_of(Neuron::Client::Zone::PLAYLIST_MODES, overrides)
|
229
|
+
end
|
230
|
+
|
231
|
+
def volume(overrides={})
|
232
|
+
merged({
|
233
|
+
:type => %w(integer string null),
|
234
|
+
:required => true,
|
235
|
+
:minimum => 0,
|
236
|
+
:exclusiveMinimum => false,
|
237
|
+
:maximum => 100,
|
238
|
+
:exclusiveMaximum => false,
|
239
|
+
:pattern => "^[0-9]\\d+$",
|
240
|
+
:maxLength => 3
|
241
|
+
}, overrides)
|
242
|
+
end
|
243
|
+
|
160
244
|
# --------------------
|
161
245
|
|
162
246
|
private
|
163
247
|
|
164
|
-
|
165
248
|
CREATE_PROPERTIES =
|
166
249
|
{
|
167
250
|
:name => SCHEMA.nullable_string(:required => false),
|
168
251
|
:ad_links => SCHEMA.ad_links(:required => false),
|
169
252
|
:response_type => SCHEMA.choice_of([], :required => true),
|
253
|
+
:iris_version => SCHEMA.missing_or_null,
|
170
254
|
:template_slug => SCHEMA.missing_or_null,
|
171
|
-
:mute => SCHEMA.missing_or_null,
|
172
|
-
:autoplay => SCHEMA.missing_or_null,
|
173
255
|
:channel => SCHEMA.missing_or_null,
|
174
256
|
:expand => SCHEMA.missing_or_null,
|
175
|
-
|
176
|
-
:
|
257
|
+
# Iris 2.0
|
258
|
+
:mute => SCHEMA.missing_or_null,
|
259
|
+
:autoplay => SCHEMA.missing_or_null,
|
260
|
+
# Iris 2.5
|
261
|
+
:playlist_mode => SCHEMA.missing_or_null,
|
262
|
+
:volume => SCHEMA.missing_or_null,
|
263
|
+
:color => SCHEMA.missing_or_null,
|
264
|
+
:playback_mode => SCHEMA.missing_or_null,
|
265
|
+
:overlay_provider => SCHEMA.missing_or_null,
|
266
|
+
:overlay_feed_url => SCHEMA.missing_or_null,
|
267
|
+
|
177
268
|
}
|
178
269
|
|
179
270
|
SHOW_PROPERTIES =
|
@@ -185,13 +276,20 @@ module Neuron
|
|
185
276
|
:name => SCHEMA.nullable_string(:required => true),
|
186
277
|
:ad_links => SCHEMA.ad_links(:required => true),
|
187
278
|
:response_type => SCHEMA.choice_of([], :required => true),
|
279
|
+
:iris_version => SCHEMA.missing_or_null,
|
188
280
|
:template_slug => SCHEMA.missing_or_null,
|
189
|
-
:mute => SCHEMA.missing_or_null,
|
190
|
-
:autoplay => SCHEMA.missing_or_null,
|
191
281
|
:channel => SCHEMA.missing_or_null,
|
192
282
|
:expand => SCHEMA.missing_or_null,
|
193
|
-
|
194
|
-
:
|
283
|
+
# Iris 2.0
|
284
|
+
:mute => SCHEMA.missing_or_null,
|
285
|
+
:autoplay => SCHEMA.missing_or_null,
|
286
|
+
# Iris 2.5
|
287
|
+
:playlist_mode => SCHEMA.missing_or_null,
|
288
|
+
:volume => SCHEMA.missing_or_null,
|
289
|
+
:color => SCHEMA.missing_or_null,
|
290
|
+
:playback_mode => SCHEMA.missing_or_null,
|
291
|
+
:overlay_provider => SCHEMA.missing_or_null,
|
292
|
+
:overlay_feed_url => SCHEMA.missing_or_null,
|
195
293
|
}
|
196
294
|
|
197
295
|
UPDATE_PROPERTIES =
|
@@ -201,13 +299,20 @@ module Neuron
|
|
201
299
|
:name => SCHEMA.nullable_string(:required => false),
|
202
300
|
:ad_links => SCHEMA.ad_links(:required => false),
|
203
301
|
:response_type => SCHEMA.choice_of([], :required => false),
|
302
|
+
:iris_version => SCHEMA.missing_or_null,
|
204
303
|
:template_slug => SCHEMA.missing_or_null,
|
205
|
-
:mute => SCHEMA.missing_or_null,
|
206
|
-
:autoplay => SCHEMA.missing_or_null,
|
207
304
|
:channel => SCHEMA.missing_or_null,
|
208
305
|
:expand => SCHEMA.missing_or_null,
|
209
|
-
|
210
|
-
:
|
306
|
+
# Iris 2.0
|
307
|
+
:mute => SCHEMA.missing_or_null,
|
308
|
+
:autoplay => SCHEMA.missing_or_null,
|
309
|
+
# Iris 2.5
|
310
|
+
:playlist_mode => SCHEMA.missing_or_null,
|
311
|
+
:volume => SCHEMA.missing_or_null,
|
312
|
+
:color => SCHEMA.missing_or_null,
|
313
|
+
:playback_mode => SCHEMA.missing_or_null,
|
314
|
+
:overlay_provider => SCHEMA.missing_or_null,
|
315
|
+
:overlay_feed_url => SCHEMA.missing_or_null,
|
211
316
|
}
|
212
317
|
end
|
213
318
|
end
|
data/spec/lib/model/ad_spec.rb
CHANGED
@@ -178,7 +178,7 @@ module Neuron
|
|
178
178
|
ad = Ad.new(@minimal_attributes.merge('id' => 7))
|
179
179
|
@connection.should_receive(:get).with('ads/7/recent/impressions', {'by' => 'zone'}).and_return('return_value')
|
180
180
|
|
181
|
-
ad.recent('impressions', 'zone').should == 'return_value'
|
181
|
+
ad.recent('impressions', :by => 'zone').should == 'return_value'
|
182
182
|
end
|
183
183
|
end
|
184
184
|
|
data/spec/lib/model/zone_spec.rb
CHANGED
@@ -4,16 +4,21 @@ module Neuron
|
|
4
4
|
before(:each) do
|
5
5
|
@datetime = "2011-11-11T11:11:11Z"
|
6
6
|
@minimal_attributes = {
|
7
|
-
'ad_links'
|
8
|
-
'name'
|
9
|
-
'response_type'
|
10
|
-
'
|
11
|
-
'
|
12
|
-
'
|
13
|
-
'
|
14
|
-
'
|
15
|
-
'
|
16
|
-
'
|
7
|
+
'ad_links' => nil,
|
8
|
+
'name' => nil,
|
9
|
+
'response_type' => nil,
|
10
|
+
'iris_version' => nil,
|
11
|
+
'template_slug' => nil,
|
12
|
+
'mute' => nil,
|
13
|
+
'autoplay' => nil,
|
14
|
+
'channel' => nil,
|
15
|
+
'expand' => nil,
|
16
|
+
'playlist_mode' => nil,
|
17
|
+
'volume' => nil,
|
18
|
+
'color' => nil,
|
19
|
+
'playback_mode' => nil,
|
20
|
+
'overlay_provider' => nil,
|
21
|
+
'overlay_feed_url' => nil,
|
17
22
|
}
|
18
23
|
end
|
19
24
|
context "when connected to the admin server" do
|
@@ -58,7 +58,7 @@ module Neuron
|
|
58
58
|
}}, :against => Zone::SCHEMA.create)
|
59
59
|
end
|
60
60
|
|
61
|
-
it "should approve an example iris zone" do
|
61
|
+
it "should approve an example iris 2.0 zone" do
|
62
62
|
validate({"zone" => {
|
63
63
|
"name" => "example_iris_zone",
|
64
64
|
"response_type" => "Iris",
|
@@ -67,9 +67,23 @@ module Neuron
|
|
67
67
|
"mute" => "No",
|
68
68
|
"autoplay" => "Yes",
|
69
69
|
"channel" => "drivel",
|
70
|
+
"template_slug" => "300x250"
|
71
|
+
}}, :against => Zone::SCHEMA.create)
|
72
|
+
end
|
73
|
+
|
74
|
+
it "should approve an example iris 2.5 zone" do
|
75
|
+
validate({"zone" => {
|
76
|
+
"name" => "example_iris_zone",
|
77
|
+
"response_type" => "Iris",
|
78
|
+
"ad_links" => {},
|
79
|
+
"expand" => "Yes",
|
80
|
+
"channel" => "drivel",
|
70
81
|
"template_slug" => "300x250",
|
71
|
-
"
|
72
|
-
"
|
82
|
+
"playlist_mode" => "MAXI",
|
83
|
+
"playback_mode" => "AUTO",
|
84
|
+
"volume" => "10",
|
85
|
+
"color" => "#FF0000",
|
86
|
+
"iris_version" => "2_5"
|
73
87
|
}}, :against => Zone::SCHEMA.create)
|
74
88
|
end
|
75
89
|
|
@@ -118,7 +132,7 @@ module Neuron
|
|
118
132
|
}}, :against => Zone::SCHEMA.show)
|
119
133
|
end
|
120
134
|
|
121
|
-
it "should approve an example iris zone" do
|
135
|
+
it "should approve an example iris 2.0 zone" do
|
122
136
|
validate({"zone" => {
|
123
137
|
"name" => "example_iris_zone",
|
124
138
|
"response_type" => "Iris",
|
@@ -128,8 +142,27 @@ module Neuron
|
|
128
142
|
"autoplay" => "Yes",
|
129
143
|
"channel" => "drivel",
|
130
144
|
"template_slug" => "300x250",
|
131
|
-
"
|
132
|
-
"
|
145
|
+
"created_at" => @datetime,
|
146
|
+
"updated_at" => @datetime,
|
147
|
+
"id" => "abc123"
|
148
|
+
}}, :against => Zone::SCHEMA.show)
|
149
|
+
end
|
150
|
+
|
151
|
+
it "should approve an example iris 2.5 zone" do
|
152
|
+
validate({"zone" => {
|
153
|
+
"name" => "example_iris_zone",
|
154
|
+
"response_type" => "Iris",
|
155
|
+
"ad_links" => {},
|
156
|
+
"expand" => "Yes",
|
157
|
+
"channel" => "drivel",
|
158
|
+
"template_slug" => "300x250",
|
159
|
+
"playlist_mode" => "MAXI",
|
160
|
+
"playback_mode" => "AUTO",
|
161
|
+
"volume" => "10",
|
162
|
+
"color" => "#FF0000",
|
163
|
+
"overlay_provider" => "NAMI",
|
164
|
+
"overlay_feed_url" => "http://example.com/",
|
165
|
+
"iris_version" => "2_5",
|
133
166
|
"created_at" => @datetime,
|
134
167
|
"updated_at" => @datetime,
|
135
168
|
"id" => "abc123"
|
@@ -188,7 +221,7 @@ module Neuron
|
|
188
221
|
}}, :against => Zone::SCHEMA.update)
|
189
222
|
end
|
190
223
|
|
191
|
-
it "should approve an example iris zone" do
|
224
|
+
it "should approve an example iris 2.0 zone" do
|
192
225
|
validate({"zone" => {
|
193
226
|
"name" => "example_iris_zone",
|
194
227
|
"response_type" => "Iris",
|
@@ -197,13 +230,30 @@ module Neuron
|
|
197
230
|
"mute" => "No",
|
198
231
|
"autoplay" => "Yes",
|
199
232
|
"channel" => "drivel",
|
200
|
-
"text_overlay" => "No",
|
201
|
-
"nami_feed_url" => nil,
|
202
233
|
"template_slug" => "300x250",
|
203
234
|
"id" => "abc123"
|
204
235
|
}}, :against => Zone::SCHEMA.update)
|
205
236
|
end
|
206
237
|
|
238
|
+
it "should approve an example iris 2.5 zone" do
|
239
|
+
validate({"zone" => {
|
240
|
+
"name" => "example_iris_zone",
|
241
|
+
"response_type" => "Iris",
|
242
|
+
"ad_links" => {},
|
243
|
+
"expand" => "Yes",
|
244
|
+
"channel" => "drivel",
|
245
|
+
"template_slug" => "300x250",
|
246
|
+
"playlist_mode" => "MAXI",
|
247
|
+
"playback_mode" => "AUTO",
|
248
|
+
"volume" => "10",
|
249
|
+
"color" => "#FF0000",
|
250
|
+
"overlay_provider" => "NAMI",
|
251
|
+
"overlay_feed_url" => "http://example.com/",
|
252
|
+
"iris_version" => "2_5",
|
253
|
+
"id" => "abc123"
|
254
|
+
}}, :against => Zone::SCHEMA.update)
|
255
|
+
end
|
256
|
+
|
207
257
|
it "should approve an example vast zone" do
|
208
258
|
validate({"zone" => {
|
209
259
|
"name" => "example vast zone",
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: neuron-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 15
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
8
|
+
- 4
|
9
9
|
- 0
|
10
|
-
version: 0.
|
10
|
+
version: 0.4.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- RMM Online
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-01-
|
18
|
+
date: 2012-01-31 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: rest-client
|