neuron-client 0.3.0 → 0.4.0
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/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
|