epom 0.3.3 → 0.4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c2f7ff464e113173d1226be61d7f539ee678f5f0
4
- data.tar.gz: 2396838f749d1781d4d40efe8ab81ec8db05c19c
3
+ metadata.gz: 21b944bfdb65f1df249b459bd138aaa74065882c
4
+ data.tar.gz: 1140a8e3f043eb92f19878d98222345eb38398e1
5
5
  SHA512:
6
- metadata.gz: e92d8fa8eea1609a637bcd9539189390d864d871b924bb60729ed9721b91a3f2e788582999c195eccad82ac48db630194e564f1eda8f6cd6e5062911f8f21249
7
- data.tar.gz: 6df4a1a6e3bb530616907f136411b1b924dec603c530bb1c1a1842d5a02ab78362817a66c288c6d5c6922dd3c9a95419eb7471aaca348db34695566b0265fecd
6
+ metadata.gz: e8de4951251283334aaaf9b9fc236915510699b6e46dc71cb8cfa59b34ef1479f394a6072d5130f227e72fc90527ceab6e1b9c54a46b8fbc81c58a62166cf9fc
7
+ data.tar.gz: 1553904d2cd5b10cfed9405400e2bdd90b6c2e3ce234997d5ba75bfbd7cccea5770d4247a9f965debf80274cab942faa96b62d573a1ae800bb4f720dc6984a28
@@ -0,0 +1,27 @@
1
+ require 'epom/epom_element'
2
+
3
+ module Epom
4
+ class Analytic < EpomElement
5
+
6
+ def self.extended_methods
7
+ {
8
+ :analytics => {
9
+ :url => '/rest-api/analytics/FORMAT/LOGIN/HASH/TIMESTAMP.do',
10
+ :url_parameters => [:format, :login, :hash, :timestamp],
11
+ :body_parameters => [:customFrom, :customTo, :hourFrom, :hourTo, :groupRange, :displayIds, :statisticType, :range, :groupBy, :filterBy, :eqStr, :eqLong],
12
+ :method => :get,
13
+ :format => nil
14
+ }
15
+ }
16
+ end
17
+
18
+ def self.replace_params_in_url(url, url_params)
19
+ url.gsub!('FORMAT', url_params[:format]) if url.include?('FORMAT')
20
+ url.gsub!('LOGIN', url_params[:login]) if url.include?('LOGIN')
21
+ url.gsub!('HASH', url_params[:hash]) if url.include?('HASH')
22
+ url.gsub!('TIMESTAMP', url_params[:timestamp].to_s) if url.include?('TIMESTAMP')
23
+ url
24
+ end
25
+
26
+ end
27
+ end
data/lib/epom/campaign.rb CHANGED
@@ -444,6 +444,10 @@ module Epom
444
444
  :body_parameters => [:name, :clickToConversionTimeFrame, :clickToConversionTimeFramePeriodType, :viewToConversionTimeFrame, :viewToConversionTimeFramePeriodType, :hash, :timestamp, :username],
445
445
  :method => :post
446
446
  },
447
+
448
+ ###########################
449
+ # Campaign Pricing API
450
+ ###########################
447
451
  :disable_campaign_country_pricing => {
448
452
  :url => '/rest-api/campaigns/CAMPAIGN_ID/pricing/COUNTRY_CODE.do',
449
453
  :url_parameters => [:campaignId, :countryCode],
@@ -489,7 +493,7 @@ module Epom
489
493
  :update_campaign_pricing => {
490
494
  :url => '/rest-api/campaign/CAMPAIGN_ID/pricing.do',
491
495
  :url_parameters => [:campaignId],
492
- :body_parameters => [:hash, :timestamp, :username],
496
+ :body_parameters => [:price, :hash, :timestamp, :username],
493
497
  :method => :post
494
498
  },
495
499
  }
@@ -4,7 +4,6 @@ module Epom
4
4
  include HTTMultiParty
5
5
  base_uri 'https://n29.epom.com/'
6
6
  default_params :output => 'json'
7
- format :json
8
7
  debug_output $stderr
9
8
 
10
9
  def self.extended_methods
@@ -33,6 +32,13 @@ module Epom
33
32
  default_options[:headers] = {}
34
33
  end
35
34
 
35
+ if signature.has_key?(:format)
36
+ format signature[:format]
37
+ else
38
+ format :json
39
+ end
40
+
41
+
36
42
  if params_validation(url_params, url_params_signature) and params_validation(body_params, body_params_signature)
37
43
  http_proxy ENV['proxy_address'], ENV['proxy_port'], ENV['proxy_user'], ENV['proxy_password']
38
44
  response = send(method, url, :query => body_params)
data/lib/epom/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Epom
2
- VERSION = '0.3.3'
2
+ VERSION = '0.4'
3
3
  end
@@ -0,0 +1,26 @@
1
+ require 'test_helper'
2
+ require 'epom/analytic'
3
+
4
+ class AnalyticTest < ActiveSupport::TestCase
5
+ test "truth" do
6
+ assert_kind_of Class, Epom::Analytic
7
+ end
8
+
9
+ test "analytics" do
10
+ timestamp = Time.now.to_i * 1000
11
+ url_params = {
12
+ :format => 'CSV',
13
+ :login => ENV['username'],
14
+ :timestamp => timestamp,
15
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp)
16
+ }
17
+ body_params = {
18
+ :displayIds => true,
19
+ :range => 'CURRENT_MONTH',
20
+ :groupBy => 'ADVERTISER,CAMPAIGN,BANNER,SITE,ZONE,PLACEMENT',
21
+ }
22
+
23
+ response = Epom::Analytic.analytics(url_params, body_params)
24
+ assert_not_instance_of Fixnum, response
25
+ end
26
+ end
@@ -6,10 +6,51 @@ class CampaignTest < ActiveSupport::TestCase
6
6
  assert_kind_of Class, Epom::Campaign
7
7
  end
8
8
 
9
- test "get_actions" do
9
+ test "create_campaign" do
10
+ timestamp = Time.now.to_i * 1000
11
+ body_params = {
12
+ :advertiserId => ENV['advertiser_id'],
13
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
14
+ :timestamp => timestamp,
15
+ :username => ENV['username'],
16
+ :name => "campaign #{timestamp}",
17
+ :description => "description for campaign #{timestamp}",
18
+ :active => true}
19
+
20
+ response = Epom::Campaign.create_campaign({}, body_params)
21
+ assert_instance_of Hash, response
22
+ assert_instance_of Fixnum, response['id']
23
+ assert_instance_of String, response['name']
24
+ end
25
+
26
+ test "update_campaign" do
10
27
  timestamp = Time.now.to_i * 1000
11
28
  url_params = {
12
- :campaignId => ENV['campaign_id'],
29
+ :campaignId => ENV['campaign_id']
30
+ }
31
+ body_params = {
32
+ :advertiserId => ENV['advertiser_id'],
33
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
34
+ :timestamp => timestamp,
35
+ :username => ENV['username'],
36
+ :name => "campaign #{timestamp}",
37
+ :description => "description for campaign #{timestamp}",
38
+ :active => true}
39
+
40
+ response = Epom::Campaign.update_campaign(url_params, body_params)
41
+ assert_instance_of Hash, response
42
+ assert response['success']
43
+
44
+ campaign = test_get_campaign()
45
+ assert_instance_of Hash, campaign
46
+ assert_equal ENV['campaign_id'], campaign['id'].to_s
47
+ assert_equal "campaign #{timestamp}", campaign['name']
48
+ end
49
+
50
+ test "get_click_capping" do
51
+ timestamp = Time.now.to_i * 1000
52
+ url_params = {
53
+ :campaignId => ENV['campaign_id']
13
54
  }
14
55
  body_params = {
15
56
  :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
@@ -17,12 +58,217 @@ class CampaignTest < ActiveSupport::TestCase
17
58
  :username => ENV['username'],
18
59
  }
19
60
 
20
- response = Epom::Campaign.get_actions(url_params, body_params)
61
+ response = Epom::Campaign.get_click_capping(url_params, body_params)
21
62
  assert_instance_of Array, response
22
63
  if response.count > 0
23
64
  first = response[0]
24
- assert_instance_of String, first['key']
25
- end
65
+ assert_instance_of Hash, first
66
+ assert_instance_of Fixnum, first['id']
67
+ assert_instance_of Fixnum, first['amount']
68
+ assert_instance_of String, first['periodType']
69
+ assert_instance_of Fixnum, first['period']
70
+ end
71
+ response
72
+ end
73
+
74
+ test "set_click_capping" do
75
+ timestamp = Time.now.to_i * 1000
76
+ url_params = {
77
+ :campaignId => ENV['campaign_id']
78
+ }
79
+ body_params = {
80
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
81
+ :timestamp => timestamp,
82
+ :username => ENV['username'],
83
+ :amount => [1,2,3,4,5,6,7].sample,
84
+ :evenDistribution => true,
85
+ :periodType => 'HOUR',
86
+ :period => 2
87
+ }
88
+
89
+ response = Epom::Campaign.set_click_capping(url_params, body_params)
90
+
91
+ click_cappings = test_get_click_capping()
92
+ click_capping = click_cappings.find { |cc| cc['amount'] == body_params[:amount] }
93
+ assert_instance_of Hash, click_capping
94
+ assert_instance_of Fixnum, click_capping['id']
95
+ assert_equal true, click_capping['evenDistribution']
96
+ assert_equal 'HOUR', click_capping['periodType']
97
+ assert_equal 2, click_capping['period']
98
+ end
99
+
100
+ test "get_limits" do
101
+ timestamp = Time.now.to_i * 1000
102
+ url_params = {
103
+ :campaignId => ENV['campaign_id'],
104
+ }
105
+ body_params = {
106
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
107
+ :timestamp => timestamp,
108
+ :username => ENV['username'],
109
+ }
110
+
111
+ response = Epom::Campaign.get_limits(url_params, body_params)
112
+ assert_instance_of Hash, response
113
+ response
114
+ end
115
+
116
+ test "set_limits" do
117
+ timestamp = Time.now.to_i * 1000
118
+ url_params = {
119
+ :campaignId => ENV['campaign_id'],
120
+ }
121
+ body_params = {
122
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
123
+ :timestamp => timestamp,
124
+ :username => ENV['username'],
125
+ :totalImpressionsLimit => 100,
126
+ :dailyImpressionsLimit => 20,
127
+ :totalClicksLimit => 50,
128
+ :dailyClicksLimit => 10,
129
+ :totalBudgetLimit => 50,
130
+ :dailyBudgetLimit => 10,
131
+ :startDate => DateTime.now.strftime('%Y-%m-%d-%H-%M'),
132
+ :endDate => Date.tomorrow.strftime('%Y-%m-%d-%H-%M'),
133
+ }
134
+
135
+ response = Epom::Campaign.set_limits(url_params, body_params)
136
+
137
+ limit = test_get_limits()
138
+ assert_instance_of Hash, limit
139
+ assert_equal body_params[:totalImpressionsLimit], limit['totalImpressionsLimit']
140
+ assert_equal body_params[:dailyImpressionsLimit], limit['dailyImpressionsLimit']
141
+ assert_equal body_params[:totalClicksLimit], limit['totalClicksLimit']
142
+ assert_equal body_params[:dailyClicksLimit], limit['dailyClicksLimit']
143
+ assert_equal body_params[:totalBudgetLimit], limit['totalBudgetLimit']
144
+ assert_equal body_params[:dailyBudgetLimit], limit['dailyBudgetLimit']
145
+ assert_equal body_params[:startDate], limit['startDate']
146
+ assert_equal body_params[:endDate], limit['endDate']
147
+ end
148
+
149
+ test "create_cookie_value_target" do
150
+ timestamp = Time.now.to_i * 1000
151
+ url_params = {
152
+ :campaignId => ENV['campaign_id'],
153
+ }
154
+ body_params = {
155
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
156
+ :timestamp => timestamp,
157
+ :username => ENV['username'],
158
+ :cookieName => 'age',
159
+ :cookieValue => '20',
160
+ :rule => 'INCLUDE'
161
+ }
162
+
163
+ response = Epom::Campaign.create_cookie_value_target(url_params, body_params)
164
+ assert_instance_of Hash, response
165
+ assert_instance_of Fixnum, response['id']
166
+ assert_equal body_params[:cookieName], response['cookieName']
167
+ assert_equal body_params[:cookieValue], response['cookieValue']
168
+ end
169
+
170
+ test "create_country_target" do
171
+ timestamp = Time.now.to_i * 1000
172
+ url_params = {
173
+ :campaignId => ENV['campaign_id'],
174
+ }
175
+ body_params = {
176
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
177
+ :timestamp => timestamp,
178
+ :username => ENV['username'],
179
+ :countryCode => ENV['country_code'],
180
+ :rule => 'INCLUDE'
181
+ }
182
+
183
+ response = Epom::Campaign.create_country_target(url_params, body_params)
184
+ assert_instance_of Hash, response
185
+ assert_instance_of Fixnum, response['id']
186
+ assert_equal 'COUNTRY', response['type']
187
+ end
188
+
189
+ test "create_custom_parameter_target" do
190
+ timestamp = Time.now.to_i * 1000
191
+ url_params = {
192
+ :campaignId => ENV['campaign_id'],
193
+ }
194
+ body_params = {
195
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
196
+ :timestamp => timestamp,
197
+ :username => ENV['username'],
198
+ :expression => "($p1==1 || $p1=='a') && ($p2>=12 && $p2<=22)",
199
+ :rule => 'INCLUDE'
200
+ }
201
+
202
+ response = Epom::Campaign.create_custom_parameter_target(url_params, body_params)
203
+ assert_instance_of Hash, response
204
+ assert_instance_of Fixnum, response['id']
205
+ assert_equal 'CUSTOM', response['type']
206
+ end
207
+
208
+ test "create_language_target" do
209
+ timestamp = Time.now.to_i * 1000
210
+ url_params = {
211
+ :campaignId => ENV['campaign_id'],
212
+ }
213
+ body_params = {
214
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
215
+ :timestamp => timestamp,
216
+ :username => ENV['username'],
217
+ :languageCode => 'en',
218
+ :rule => 'INCLUDE'
219
+ }
220
+
221
+ response = Epom::Campaign.create_language_target(url_params, body_params)
222
+ assert_instance_of Hash, response
223
+ assert_instance_of Fixnum, response['id']
224
+ assert_equal 'LANGUAGE', response['type']
225
+ end
226
+
227
+ test "disable_targeting" do
228
+ timestamp = Time.now.to_i * 1000
229
+ url_params = {
230
+ :campaignId => ENV['campaign_id'],
231
+ }
232
+ body_params = {
233
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
234
+ :timestamp => timestamp,
235
+ :username => ENV['username'],
236
+ }
237
+
238
+ response = Epom::Campaign.disable_targeting(url_params, body_params)
239
+ assert_not_instance_of Fixnum, response
240
+ end
241
+
242
+ test "enable_targeting" do
243
+ timestamp = Time.now.to_i * 1000
244
+ url_params = {
245
+ :campaignId => ENV['campaign_id'],
246
+ }
247
+ body_params = {
248
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
249
+ :timestamp => timestamp,
250
+ :username => ENV['username'],
251
+ }
252
+
253
+ response = Epom::Campaign.enable_targeting(url_params, body_params)
254
+ assert_not_instance_of Fixnum, response
255
+ end
256
+
257
+ test "get_targeting" do
258
+ timestamp = Time.now.to_i * 1000
259
+ url_params = {
260
+ :campaignId => ENV['campaign_id'],
261
+ :targetId => '3929'
262
+ }
263
+ body_params = {
264
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
265
+ :timestamp => timestamp,
266
+ :username => ENV['username'],
267
+ }
268
+
269
+ response = Epom::Campaign.get_targeting(url_params, body_params)
270
+ assert_instance_of Hash, response
271
+ assert_instance_of Fixnum, response['id']
26
272
  end
27
273
 
28
274
  test "get_targetings" do
@@ -42,30 +288,92 @@ class CampaignTest < ActiveSupport::TestCase
42
288
  first = response[0]
43
289
  assert_instance_of Fixnum, first['id']
44
290
  end
45
- end
291
+ end
46
292
 
47
- test "create_campaign" do
48
- timestamp = Time.now.to_i * 1000
293
+ test "get_campaign" do
294
+ timestamp = Time.now.to_i * 1000
295
+ url_params = {
296
+ :campaignId => ENV['campaign_id']
297
+ }
49
298
  body_params = {
50
- :advertiserId => ENV['advertiser_id'],
51
- :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
52
- :timestamp => timestamp,
53
- :username => ENV['username'],
54
- :name => "campaign #{timestamp}",
55
- :description => "description for campaign #{timestamp}",
56
- :active => true}
57
-
58
- response = Epom::Campaign.create_campaign({}, body_params)
299
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
300
+ :timestamp => timestamp,
301
+ :username => ENV['username'],
302
+ }
303
+
304
+ response = Epom::Campaign.get_campaign(url_params, body_params)
59
305
  assert_instance_of Hash, response
60
306
  assert_instance_of Fixnum, response['id']
61
307
  assert_instance_of String, response['name']
308
+ response
309
+ end
310
+
311
+ ##########################
312
+ ## Campaign Adjusted CPM API
313
+ ##########################
314
+
315
+ test "add_fixed_cpm_country_pricing" do
316
+ timestamp = Time.now.to_i * 1000
317
+ url_params = {
318
+ :campaignId => ENV['campaign_id']
319
+ }
320
+ body_params = {
321
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
322
+ :timestamp => timestamp,
323
+ :username => ENV['username'],
324
+ :countryCode => ENV['country_code'],
325
+ :value => '2.5',
326
+ :date => DateTime.now.strftime('%Y-%m-%d-%H-%M')
327
+ }
328
+
329
+ response = Epom::Campaign.add_fixed_cpm_country_pricing(url_params, body_params)
330
+ assert_instance_of Hash, response
331
+ assert_instance_of Fixnum, response['id']
332
+ assert response['success']
333
+ end
334
+
335
+ test "adjusted_cpm_list" do
336
+ timestamp = Time.now.to_i * 1000
337
+ url_params = {
338
+ :campaignId => ENV['campaign_id']
339
+ }
340
+ body_params = {
341
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
342
+ :timestamp => timestamp,
343
+ :username => ENV['username'],
344
+ }
345
+
346
+ # PENDING
347
+ # response = Epom::Campaign.adjusted_cpm_list(url_params, body_params)
348
+ end
349
+
350
+ ##########################
351
+ ## Campaign Action Management API
352
+ ##########################
353
+
354
+ test "get_actions" do
355
+ timestamp = Time.now.to_i * 1000
356
+ url_params = {
357
+ :campaignId => ENV['campaign_id'],
358
+ }
359
+ body_params = {
360
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
361
+ :timestamp => timestamp,
362
+ :username => ENV['username'],
363
+ }
364
+
365
+ response = Epom::Campaign.get_actions(url_params, body_params)
366
+ assert_instance_of Array, response
367
+ if response.count > 0
368
+ first = response[0]
369
+ assert_instance_of String, first['key']
370
+ end
62
371
  end
63
372
 
64
- test "get_targeting" do
373
+ test "get_campaign_pricing" do
65
374
  timestamp = Time.now.to_i * 1000
66
375
  url_params = {
67
376
  :campaignId => ENV['campaign_id'],
68
- :targetId => '3929'
69
377
  }
70
378
  body_params = {
71
379
  :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
@@ -73,9 +381,47 @@ class CampaignTest < ActiveSupport::TestCase
73
381
  :username => ENV['username'],
74
382
  }
75
383
 
76
- response = Epom::Campaign.get_targeting(url_params, body_params)
384
+ response = Epom::Campaign.get_campaign_pricing(url_params, body_params)
77
385
  assert_instance_of Hash, response
78
386
  assert_instance_of Fixnum, response['id']
387
+ assert_instance_of String, response['paymentModel']
388
+ response
389
+ end
390
+
391
+ test "update_campaign_country_pricing" do
392
+ timestamp = Time.now.to_i * 1000
393
+ url_params = {
394
+ :campaignId => ENV['campaign_id'],
395
+ :countryCode => ENV['country_code']
396
+ }
397
+ body_params = {
398
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
399
+ :timestamp => timestamp,
400
+ :username => ENV['username'],
401
+ :price => [1.1, 2.3, 3.1].sample
402
+ }
403
+
404
+ response = Epom::Campaign.update_campaign_country_pricing(url_params, body_params)
405
+ assert_not_instance_of Fixnum, response
406
+ end
407
+
408
+ test "update_campaign_pricing" do
409
+ timestamp = Time.now.to_i * 1000
410
+ url_params = {
411
+ :campaignId => ENV['campaign_id'],
412
+ }
413
+ body_params = {
414
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
415
+ :timestamp => timestamp,
416
+ :username => ENV['username'],
417
+ :price => 2.9
418
+ }
419
+
420
+ response = Epom::Campaign.update_campaign_pricing(url_params, body_params)
421
+ assert_not_instance_of Fixnum, response
422
+
423
+ pricing = test_get_campaign_pricing()
424
+ assert_equal 2.9, body_params[:price]
79
425
  end
80
426
 
81
427
  define_get_tests_auto(Epom::Campaign)
data/test/test_helper.rb CHANGED
@@ -1,11 +1,10 @@
1
- require 'yaml'
2
-
3
1
  require "codeclimate-test-reporter"
4
2
  CodeClimate::TestReporter.start
5
3
 
6
4
  # Configure Rails Environment
7
5
  ENV["RAILS_ENV"] = "test"
8
6
 
7
+ require 'yaml'
9
8
  env_file = File.join(Pathname.new(__FILE__).parent.parent, 'config', 'application.yml')
10
9
  YAML.load(File.open(env_file)).each do |key, value|
11
10
  ENV[key.to_s] = value.to_s
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: epom
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: '0.4'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pedro Quintero
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2015-05-28 00:00:00.000000000 Z
13
+ date: 2015-06-01 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
@@ -107,6 +107,7 @@ files:
107
107
  - lib/epom.rb
108
108
  - lib/epom/ad_unit_size.rb
109
109
  - lib/epom/advertiser.rb
110
+ - lib/epom/analytic.rb
110
111
  - lib/epom/auth.rb
111
112
  - lib/epom/banner.rb
112
113
  - lib/epom/banner_type.rb
@@ -160,6 +161,7 @@ files:
160
161
  - test/dummy/public/500.html
161
162
  - test/dummy/public/favicon.ico
162
163
  - test/epom/advertiser_test.rb
164
+ - test/epom/analytic_test.rb
163
165
  - test/epom/auth_test.rb
164
166
  - test/epom/banner_test.rb
165
167
  - test/epom/campaign_test.rb
@@ -208,6 +210,7 @@ test_files:
208
210
  - test/epom/campaign_test.rb
209
211
  - test/epom/banner_test.rb
210
212
  - test/epom/auth_test.rb
213
+ - test/epom/analytic_test.rb
211
214
  - test/epom/advertiser_test.rb
212
215
  - test/dummy/config.ru
213
216
  - test/dummy/Rakefile