epom_rails 1.0.0 → 1.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/lib/epom_rails/acts_as.rb +41 -14
  3. data/lib/epom_rails/acts_as_advertiser.rb +24 -0
  4. data/lib/epom_rails/acts_as_analytic.rb +33 -0
  5. data/lib/epom_rails/acts_as_campaign.rb +20 -1
  6. data/lib/epom_rails/acts_as_zone.rb +19 -0
  7. data/lib/epom_rails/config.rb +8 -6
  8. data/lib/epom_rails/version.rb +1 -1
  9. data/lib/epom_rails.rb +5 -3
  10. data/lib/generators/epom_rails/config/templates/epom_rails.rb +7 -4
  11. data/test/dummy/app/assets/javascripts/analytics.js +2 -0
  12. data/test/dummy/app/assets/stylesheets/analytics.css +4 -0
  13. data/test/dummy/app/controllers/analytics_controller.rb +58 -0
  14. data/test/dummy/app/controllers/zones_controller.rb +1 -1
  15. data/test/dummy/app/helpers/analytics_helper.rb +2 -0
  16. data/test/dummy/app/models/advertiser.rb +2 -1
  17. data/test/dummy/app/models/analytic.rb +3 -0
  18. data/test/dummy/app/models/banner.rb +2 -0
  19. data/test/dummy/app/models/campaign.rb +3 -0
  20. data/test/dummy/app/models/placement.rb +2 -0
  21. data/test/dummy/app/models/publisher.rb +1 -0
  22. data/test/dummy/app/models/zone.rb +3 -0
  23. data/test/dummy/app/views/analytics/_form.html.erb +133 -0
  24. data/test/dummy/app/views/analytics/edit.html.erb +6 -0
  25. data/test/dummy/app/views/analytics/index.html.erb +83 -0
  26. data/test/dummy/app/views/analytics/new.html.erb +5 -0
  27. data/test/dummy/app/views/analytics/show.html.erb +149 -0
  28. data/test/dummy/app/views/zones/_form.html.erb +2 -2
  29. data/test/dummy/app/views/zones/index.html.erb +2 -2
  30. data/test/dummy/app/views/zones/show.html.erb +2 -2
  31. data/test/dummy/config/routes.rb +2 -1
  32. data/test/dummy/db/migrate/{20150622160449_create_zones.rb → 20150803195716_create_zones.rb} +1 -1
  33. data/test/dummy/db/migrate/20150821041145_create_analytics.rb +37 -0
  34. data/test/dummy/db/schema.rb +38 -4
  35. data/test/dummy/test/controllers/analytics_controller_test.rb +49 -0
  36. data/test/dummy/test/controllers/banners_controller_test.rb +3 -1
  37. data/test/dummy/test/controllers/campaigns_controller_test.rb +4 -2
  38. data/test/dummy/test/controllers/placements_controller_test.rb +5 -3
  39. data/test/dummy/test/controllers/publishers_controller_test.rb +2 -2
  40. data/test/dummy/test/controllers/zones_controller_test.rb +5 -3
  41. data/test/dummy/test/fixtures/advertisers.yml +1 -0
  42. data/test/dummy/test/fixtures/analytics.yml +63 -0
  43. data/test/dummy/test/fixtures/banners.yml +16 -1
  44. data/test/dummy/test/fixtures/campaigns.yml +3 -2
  45. data/test/dummy/test/fixtures/placements.yml +4 -3
  46. data/test/dummy/test/fixtures/publishers.yml +2 -1
  47. data/test/dummy/test/fixtures/zones.yml +3 -2
  48. data/test/dummy/test/models/analytic_test.rb +7 -0
  49. data/test/epom_rails/acts_as_advertiser_test.rb +54 -1
  50. data/test/epom_rails/acts_as_analytic_test.rb +9 -0
  51. data/test/epom_rails/acts_as_banner_test.rb +9 -6
  52. data/test/epom_rails/acts_as_campaign_test.rb +24 -5
  53. data/test/epom_rails/acts_as_placement_test.rb +6 -3
  54. data/test/epom_rails/acts_as_site_test.rb +8 -5
  55. data/test/epom_rails/acts_as_zone_test.rb +16 -3
  56. data/test/test_helper.rb +8 -5
  57. metadata +42 -11
@@ -2,12 +2,13 @@
2
2
 
3
3
  one:
4
4
  name: MyString
5
- advertiser_id: 1
5
+ advertiser: one
6
6
  description: MyText
7
7
  weight: 1
8
8
 
9
9
  two:
10
10
  name: MyString
11
- advertiser_id: 1
11
+ advertiser: two
12
12
  description: MyText
13
13
  weight: 1
14
+ epom_id: 2
@@ -1,7 +1,7 @@
1
1
  # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
2
2
 
3
3
  one:
4
- zone_id: 814
4
+ zone: one
5
5
  placement_type: SITE_PLACEMENT
6
6
  name: MyString
7
7
  ad_unit_id: 10
@@ -9,9 +9,10 @@ one:
9
9
  size_width: 350
10
10
 
11
11
  two:
12
- zone_id: 814
12
+ zone: two
13
13
  placement_type: SITE_PLACEMENT
14
14
  name: MyString
15
15
  ad_unit_id: 10
16
16
  size_height: 200
17
- size_width: 350
17
+ size_width: 350
18
+ epom_id: 2
@@ -12,4 +12,5 @@ two:
12
12
  url: http://www.example.com
13
13
  description: MyText
14
14
  email: user@example.com
15
- category_id: 1
15
+ category_id: 1
16
+ epom_id: 2
@@ -3,9 +3,10 @@
3
3
  one:
4
4
  name: MyString
5
5
  description: MyText
6
- site_id: 1
6
+ publisher: one
7
7
 
8
8
  two:
9
9
  name: MyString
10
10
  description: MyText
11
- site_id: 1
11
+ publisher: two
12
+ epom_id: 2
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class AnalyticTest < ActiveSupport::TestCase
4
+ # test "the truth" do
5
+ # assert true
6
+ # end
7
+ end
@@ -5,8 +5,18 @@ class ActsAsAdvertiserTest < ActiveSupport::TestCase
5
5
  EpomRails.config.advertiser[:fields].key(field)
6
6
  end
7
7
 
8
+ def check_campaigns_list(campaigns1, campaigns2)
9
+ assert_equal campaigns1.count, campaigns2.count
10
+ campaigns1.each do |campaign|
11
+ epom_campaign = campaigns2.find{|c| c['id'] == campaign.send(epom_field('id'))}
12
+ assert epom_campaign
13
+ assert_instance_of Hash, epom_campaign
14
+ assert_equal campaign.name, epom_campaign['name']
15
+ end
16
+ end
17
+
8
18
  test 'fancy_method' do
9
- assert_raises NoMethodError do Advertiser.fancy_method end
19
+ assert_raises NoMethodError do Advertiser.fancy_method end
10
20
  end
11
21
 
12
22
  test 'save an advertiser' do
@@ -68,4 +78,47 @@ class ActsAsAdvertiserTest < ActiveSupport::TestCase
68
78
  end
69
79
  end
70
80
  end
81
+
82
+ test 'define_before_add_and_before_remove_for_campaigns' do
83
+ a1 = Advertiser.create(name: 'advertiser 1')
84
+ a2 = Advertiser.create(name: 'advertiser 2')
85
+ c = Campaign.create(name: 'campaign', advertiser_id: a2.id)
86
+
87
+ puts 'a1.campaigns << c'
88
+ a1.campaigns << c
89
+ unless EpomRails.config.offline
90
+ # TODO: replace for a1.get_campaigns_for_advertiser
91
+ campaigns = Advertiser.get_campaigns_for_advertiser({advertiserId: a1.send(epom_field('id'))})
92
+ check_campaigns_list(a1.campaigns(true), campaigns)
93
+ end
94
+
95
+ puts 'a2.campaigns << c'
96
+ a2.campaigns << c
97
+ unless EpomRails.config.offline
98
+ # TODO: replace for a1.get_campaigns_for_advertiser
99
+ campaigns = Advertiser.get_campaigns_for_advertiser({advertiserId: a1.send(epom_field('id'))})
100
+ check_campaigns_list(a1.campaigns(true), campaigns)
101
+
102
+ # TODO: replace for a2.get_campaigns_for_advertiser
103
+ campaigns = Advertiser.get_campaigns_for_advertiser({advertiserId: a2.send(epom_field('id'))})
104
+ check_campaigns_list(a2.campaigns(true), campaigns)
105
+ end
106
+
107
+ puts 'a2.campaigns = [Campaign.create, Campaign.create]'
108
+ a2.campaigns = [Campaign.create(name: 'campaign 1', advertiser_id: a2.id), Campaign.create(name: 'campaign 2', advertiser_id: a2.id)]
109
+ assert_nil Campaign.find(c.id).advertiser
110
+ unless EpomRails.config.offline
111
+ # TODO: replace for a2.get_campaigns_for_advertiser
112
+ campaigns = Advertiser.get_campaigns_for_advertiser({advertiserId: a2.send(epom_field('id'))})
113
+ check_campaigns_list(a2.campaigns(true), campaigns)
114
+ end
115
+
116
+ puts 'a2.campaigns = []'
117
+ a2.campaigns = []
118
+ unless EpomRails.config.offline
119
+ # TODO: replace for a2.get_campaigns_for_advertiser
120
+ campaigns = Advertiser.get_campaigns_for_advertiser({advertiserId: a2.send(epom_field('id'))})
121
+ check_campaigns_list(a2.campaigns(true), campaigns)
122
+ end
123
+ end
71
124
  end
@@ -0,0 +1,9 @@
1
+ require 'test_helper'
2
+
3
+ class ActsAsAnalyticTest < ActiveSupport::TestCase
4
+ test 'analytic_from_epom' do
5
+ analytics = Analytic.analytic_from_epom({range: 'CURRENT_MONTH'})
6
+ assert_instance_of Array, analytics
7
+ assert_instance_of Analytic, analytics[0] if analytics.count > 0
8
+ end
9
+ end
@@ -11,8 +11,9 @@ class ActsAsBannerTest < ActiveSupport::TestCase
11
11
 
12
12
  test 'save an banner' do
13
13
  unless EpomRails.config.offline
14
- banner = banners(:one)
15
-
14
+ banner = banners(:two)
15
+ banner.epom_id = nil
16
+
16
17
  assert banner.save
17
18
  assert_instance_of Fixnum, banner.send(epom_field('id'))
18
19
  end
@@ -20,7 +21,9 @@ class ActsAsBannerTest < ActiveSupport::TestCase
20
21
 
21
22
  test 'delete an banner' do
22
23
  unless EpomRails.config.offline
23
- banner = banners(:one)
24
+ banner = banners(:two)
25
+ banner.epom_id = nil
26
+ banner.save
24
27
 
25
28
  assert banner.save
26
29
  assert_instance_of Fixnum, banner.send(epom_field('id'))
@@ -32,13 +35,13 @@ class ActsAsBannerTest < ActiveSupport::TestCase
32
35
 
33
36
  test 'epom methods' do
34
37
  unless EpomRails.config.offline
35
- banner = banners(:one)
36
-
38
+ banner = banners(:two)
39
+ banner.epom_id = nil
37
40
  assert banner.save
38
41
  assert_instance_of Fixnum, banner.send(epom_field('id'))
39
42
 
40
43
  response = Banner.get_banner({:bannerId => banner.send(epom_field('id'))}, {})
41
- assert_equal banner.campaign_id, response['campaignId']
44
+ assert_equal banner.campaign.epom_id, response['campaignId']
42
45
  assert_equal banner.weight, response['weight']
43
46
  assert_equal banner.url, response['url']
44
47
  assert_equal banner.name, response['name']
@@ -11,7 +11,8 @@ class ActsAsCampaignTest < ActiveSupport::TestCase
11
11
 
12
12
  test 'save an campaign' do
13
13
  unless EpomRails.config.offline
14
- campaign = campaigns(:one)
14
+ campaign = campaigns(:two)
15
+ campaign.epom_id = nil
15
16
 
16
17
  assert campaign.save
17
18
  assert_instance_of Fixnum, campaign.send(epom_field('id'))
@@ -20,7 +21,8 @@ class ActsAsCampaignTest < ActiveSupport::TestCase
20
21
 
21
22
  test 'delete an campaign' do
22
23
  unless EpomRails.config.offline
23
- campaign = campaigns(:one)
24
+ campaign = campaigns(:two)
25
+ campaign.epom_id = nil
24
26
 
25
27
  assert campaign.save
26
28
  assert_instance_of Fixnum, campaign.send(epom_field('id'))
@@ -32,14 +34,31 @@ class ActsAsCampaignTest < ActiveSupport::TestCase
32
34
 
33
35
  test 'epom methods' do
34
36
  unless EpomRails.config.offline
35
- campaign = campaigns(:one)
37
+ campaign = campaigns(:two)
38
+ campaign.epom_id = nil
36
39
 
37
- assert campaign.save
38
- assert_instance_of Fixnum, campaign.send(epom_field('id'))
40
+ assert campaign.save
41
+ assert_instance_of Fixnum, campaign.send(epom_field('id'))
39
42
 
40
43
  response = Campaign.get_campaign({:campaignId => campaign.send(epom_field('id'))}, {})
41
44
  assert_equal campaign.send(epom_field('id')), response['id']
42
45
  assert_equal campaign.send(epom_field('name')), response['name']
43
46
  end
44
47
  end
48
+
49
+ test 'method_missing' do
50
+ campaign = campaigns(:one)
51
+ assert campaign.advertiser_id, campaign.advertiserId
52
+ end
53
+
54
+ test 'belongs to advertiser' do
55
+ campaign = campaigns(:one)
56
+ advertiser = advertisers(:one)
57
+ campaign.advertiser = advertiser
58
+ # ensure epom id is setted
59
+ advertiser.save
60
+
61
+ assert Advertiser.find(campaign.advertiser_id), campaign.advertiser
62
+ end
63
+
45
64
  end
@@ -11,7 +11,8 @@ class ActsAsPlacementTest < ActiveSupport::TestCase
11
11
 
12
12
  test 'save an placement' do
13
13
  unless EpomRails.config.offline
14
- placement = placements(:one)
14
+ placement = placements(:two)
15
+ placement.epom_id = nil
15
16
 
16
17
  assert placement.save
17
18
  assert_instance_of Fixnum, placement.send(epom_field('id'))
@@ -33,7 +34,8 @@ class ActsAsPlacementTest < ActiveSupport::TestCase
33
34
 
34
35
  test 'delete an placement' do
35
36
  unless EpomRails.config.offline
36
- placement = placements(:one)
37
+ placement = placements(:two)
38
+ placement.epom_id = nil
37
39
 
38
40
  assert placement.save
39
41
  assert_instance_of Fixnum, placement.send(epom_field('id'))
@@ -45,7 +47,8 @@ class ActsAsPlacementTest < ActiveSupport::TestCase
45
47
 
46
48
  test 'epom methods' do
47
49
  unless EpomRails.config.offline
48
- placement = placements(:one)
50
+ placement = placements(:two)
51
+ placement.epom_id = nil
49
52
 
50
53
  assert placement.save
51
54
  assert_instance_of Fixnum, placement.send(epom_field('id'))
@@ -11,7 +11,8 @@ class ActsAsSiteTest < ActiveSupport::TestCase
11
11
 
12
12
  test 'save an site' do
13
13
  unless EpomRails.config.offline
14
- site = publishers(:one)
14
+ site = publishers(:two)
15
+ site.epom_id = nil
15
16
 
16
17
  assert site.save
17
18
  assert_instance_of Fixnum, site.send(epom_field('id'))
@@ -33,7 +34,8 @@ class ActsAsSiteTest < ActiveSupport::TestCase
33
34
 
34
35
  test 'delete an site' do
35
36
  unless EpomRails.config.offline
36
- site = publishers(:one)
37
+ site = publishers(:two)
38
+ site.epom_id = nil
37
39
 
38
40
  assert site.save
39
41
  assert_instance_of Fixnum, site.send(epom_field('id'))
@@ -45,10 +47,11 @@ class ActsAsSiteTest < ActiveSupport::TestCase
45
47
 
46
48
  test 'epom methods' do
47
49
  unless EpomRails.config.offline
48
- site = publishers(:one)
50
+ site = publishers(:two)
51
+ site.epom_id = nil
49
52
 
50
- assert site.save
51
- assert_instance_of Fixnum, site.send(epom_field('id'))
53
+ assert site.save
54
+ assert_instance_of Fixnum, site.send(epom_field('id'))
52
55
 
53
56
  response = Publisher.get_sites_zones({:siteId => site.send(epom_field('id'))}, {})
54
57
  assert_instance_of Array, response
@@ -11,7 +11,8 @@ class ActsAsZoneTest < ActiveSupport::TestCase
11
11
 
12
12
  test 'save an zone' do
13
13
  unless EpomRails.config.offline
14
- zone = zones(:one)
14
+ zone = zones(:two)
15
+ zone.epom_id = nil
15
16
 
16
17
  assert zone.save
17
18
  assert_instance_of Fixnum, zone.send(epom_field('id'))
@@ -23,7 +24,8 @@ class ActsAsZoneTest < ActiveSupport::TestCase
23
24
 
24
25
  test 'delete an zone' do
25
26
  unless EpomRails.config.offline
26
- zone = zones(:one)
27
+ zone = zones(:two)
28
+ zone.epom_id = nil
27
29
 
28
30
  assert zone.save
29
31
  assert_instance_of Fixnum, zone.send(epom_field('id'))
@@ -35,7 +37,8 @@ class ActsAsZoneTest < ActiveSupport::TestCase
35
37
 
36
38
  test 'epom methods' do
37
39
  unless EpomRails.config.offline
38
- zone = zones(:one)
40
+ zone = zones(:two)
41
+ zone.epom_id = nil
39
42
 
40
43
  assert zone.save
41
44
  assert_instance_of Fixnum, zone.send(epom_field('id'))
@@ -48,4 +51,14 @@ class ActsAsZoneTest < ActiveSupport::TestCase
48
51
  test 'belongs_to config' do
49
52
  assert [{:name => 'publisher', :epom_element => 'Site', :model => 'Publisher'}], EpomRails.config.zone[:belongs_to]
50
53
  end
54
+
55
+ test 'belongs to publisher' do
56
+ zone = zones(:one)
57
+ publisher = publishers(:one)
58
+ zone.publisher = publisher
59
+ # ensure epom id is setted
60
+ publisher.save
61
+
62
+ assert Publisher.find(zone.publisher_id), zone.publisher
63
+ end
51
64
  end
data/test/test_helper.rb CHANGED
@@ -43,12 +43,12 @@ EpomRails.configure do |config|
43
43
  config.advertiser[:has_many] = [{:name => 'campaigns', :epom_element => 'Campaign', :model => 'Campaign'}]
44
44
 
45
45
  config.campaign = {}
46
- config.campaign[:fields] = {epom_id: 'id', name: 'name', description: 'description', advertiser_id: 'advertiserId', weight: 'weight'}
46
+ config.campaign[:fields] = {epom_id: 'id', name: 'name', description: 'description', weight: 'weight', 'advertiser.epom_id' => 'advertiserId'}
47
47
  config.campaign[:has_many] = [{:name => 'banners', :epom_element => 'Banner', :model => 'Banner'}]
48
48
  config.campaign[:belongs_to] = [{:name => 'advertiser', :epom_element => 'Advertiser', :model => 'Advertiser'}]
49
49
 
50
50
  config.banner = {}
51
- config.banner[:fields] = {epom_id: 'id', placement_type: 'placementType', campaign_id: 'campaignId', weight: 'weight', image_banner_link: 'imageBannerLink', url: 'url', name: 'name', banner_type: 'bannerType', ad_unit_id: 'adUnitId', ad_unit_width: 'adUnitWidth', ad_unit_height: 'adUnitHeight'}
51
+ config.banner[:fields] = {epom_id: 'id', placement_type: 'placementType', 'campaign.epom_id' => 'campaignId', weight: 'weight', image_banner_link: 'imageBannerLink', url: 'url', name: 'name', banner_type: 'bannerType', ad_unit_id: 'adUnitId', ad_unit_width: 'adUnitWidth', ad_unit_height: 'adUnitHeight'}
52
52
  config.banner[:has_many] = [{:name => 'placements', :epom_element => 'Placement', :model => 'Placement'}]
53
53
  config.banner[:belongs_to] = [{:name => 'campaign', :epom_element => 'Campaign', :model => 'Campaign'}]
54
54
 
@@ -57,12 +57,15 @@ EpomRails.configure do |config|
57
57
  config.site[:has_many] = [{:name => 'zones', :epom_element => 'Zone', :model => 'Zone'}]
58
58
 
59
59
  config.zone = {}
60
- config.zone[:fields] = {epom_id: 'id', name: 'name', description: 'description', site_id: 'siteId'}
60
+ config.zone[:fields] = {epom_id: 'id', name: 'name', description: 'description', 'publisher.epom_id' => 'siteId'}
61
61
  config.zone[:has_many] = [{:name => 'placements', :epom_element => 'Placement', :model => 'Placement'}]
62
- config.zone[:belongs_to] = [{:name => 'site', :epom_element => 'Site', :model => 'Site'}]
62
+ config.zone[:belongs_to] = [{:name => 'publisher', :epom_element => 'Site', :model => 'Publisher'}]
63
63
 
64
64
  config.placement = {}
65
- config.placement[:fields] = {epom_id: 'id', zone_id: 'zoneId', placement_type: 'type', name: 'name', ad_unit_id: 'adUnitId', size_height: 'size.height', size_width: 'size.width'}
65
+ config.placement[:fields] = {epom_id: 'id', 'zone.epom_id' => 'zoneId', placement_type: 'type', name: 'name', ad_unit_id: 'adUnitId', size_height: 'size.height', size_width: 'size.width'}
66
66
  config.placement[:has_many] = [{:name => 'banners', :epom_element => 'Banner', :model => 'Banner'}]
67
67
  config.placement[:belongs_to] = [{:name => 'zone', :epom_element => 'Zone', :model => 'Zone'}]
68
+
69
+ config.analytic = {}
70
+ config.analytic[:fields] = {date: "Date", hour: "Hour", advertiser: "Advertiser", advertiser_id: "Advertiser ID", campaign: "Campaign", campaign_id: "Campaign ID", banner: "Banner", banner_id: "Banner ID", site: "Site", site_id: "Site ID", zone: "Zone", zone_id: "Zone ID", placement: "Placement", placement_id: "Placement ID", channel: "Channel", country: "Country", impressions: "Impressions", clicks: "Clicks", ctr: "CTR", conversions: "Conversions", i2c: "I2C", ccr: "CCR", net: "Net", gross: "Gross", profit: "Profit", ecpm_net: "eCPM Net", ecpm_gross: "eCPM Gross", ecpm_profit: "eCPM Profit", status: "Status"}
68
71
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: epom_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adrian Chang
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-31 00:00:00.000000000 Z
11
+ date: 2015-08-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: epom
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 0.10.5
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 0.10.5
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: sqlite3
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -65,6 +65,7 @@ files:
65
65
  - lib/epom_rails.rb
66
66
  - lib/epom_rails/acts_as.rb
67
67
  - lib/epom_rails/acts_as_advertiser.rb
68
+ - lib/epom_rails/acts_as_analytic.rb
68
69
  - lib/epom_rails/acts_as_banner.rb
69
70
  - lib/epom_rails/acts_as_campaign.rb
70
71
  - lib/epom_rails/acts_as_placement.rb
@@ -79,6 +80,7 @@ files:
79
80
  - test/dummy/README.rdoc
80
81
  - test/dummy/Rakefile
81
82
  - test/dummy/app/assets/javascripts/advertisers.js
83
+ - test/dummy/app/assets/javascripts/analytics.js
82
84
  - test/dummy/app/assets/javascripts/application.js
83
85
  - test/dummy/app/assets/javascripts/banners.js
84
86
  - test/dummy/app/assets/javascripts/campaigns.js
@@ -86,6 +88,7 @@ files:
86
88
  - test/dummy/app/assets/javascripts/publishers.js
87
89
  - test/dummy/app/assets/javascripts/zones.js
88
90
  - test/dummy/app/assets/stylesheets/advertisers.css
91
+ - test/dummy/app/assets/stylesheets/analytics.css
89
92
  - test/dummy/app/assets/stylesheets/application.css
90
93
  - test/dummy/app/assets/stylesheets/banners.css
91
94
  - test/dummy/app/assets/stylesheets/campaigns.css
@@ -94,6 +97,7 @@ files:
94
97
  - test/dummy/app/assets/stylesheets/scaffold.css
95
98
  - test/dummy/app/assets/stylesheets/zones.css
96
99
  - test/dummy/app/controllers/advertisers_controller.rb
100
+ - test/dummy/app/controllers/analytics_controller.rb
97
101
  - test/dummy/app/controllers/application_controller.rb
98
102
  - test/dummy/app/controllers/banners_controller.rb
99
103
  - test/dummy/app/controllers/campaigns_controller.rb
@@ -101,6 +105,7 @@ files:
101
105
  - test/dummy/app/controllers/publishers_controller.rb
102
106
  - test/dummy/app/controllers/zones_controller.rb
103
107
  - test/dummy/app/helpers/advertisers_helper.rb
108
+ - test/dummy/app/helpers/analytics_helper.rb
104
109
  - test/dummy/app/helpers/application_helper.rb
105
110
  - test/dummy/app/helpers/banners_helper.rb
106
111
  - test/dummy/app/helpers/campaigns_helper.rb
@@ -108,6 +113,7 @@ files:
108
113
  - test/dummy/app/helpers/publishers_helper.rb
109
114
  - test/dummy/app/helpers/zones_helper.rb
110
115
  - test/dummy/app/models/advertiser.rb
116
+ - test/dummy/app/models/analytic.rb
111
117
  - test/dummy/app/models/banner.rb
112
118
  - test/dummy/app/models/campaign.rb
113
119
  - test/dummy/app/models/placement.rb
@@ -118,6 +124,11 @@ files:
118
124
  - test/dummy/app/views/advertisers/index.html.erb
119
125
  - test/dummy/app/views/advertisers/new.html.erb
120
126
  - test/dummy/app/views/advertisers/show.html.erb
127
+ - test/dummy/app/views/analytics/_form.html.erb
128
+ - test/dummy/app/views/analytics/edit.html.erb
129
+ - test/dummy/app/views/analytics/index.html.erb
130
+ - test/dummy/app/views/analytics/new.html.erb
131
+ - test/dummy/app/views/analytics/show.html.erb
121
132
  - test/dummy/app/views/banners/_form.html.erb
122
133
  - test/dummy/app/views/banners/edit.html.erb
123
134
  - test/dummy/app/views/banners/index.html.erb
@@ -172,33 +183,38 @@ files:
172
183
  - test/dummy/db/migrate/20150608194916_create_campaigns.rb
173
184
  - test/dummy/db/migrate/20150608195747_add_epom_id_to_campaigns.rb
174
185
  - test/dummy/db/migrate/20150609175407_create_banners.rb
175
- - test/dummy/db/migrate/20150622160449_create_zones.rb
176
186
  - test/dummy/db/migrate/20150622181754_create_placements.rb
177
187
  - test/dummy/db/migrate/20150731161340_create_publishers.rb
188
+ - test/dummy/db/migrate/20150803195716_create_zones.rb
189
+ - test/dummy/db/migrate/20150821041145_create_analytics.rb
178
190
  - test/dummy/db/schema.rb
179
191
  - test/dummy/public/404.html
180
192
  - test/dummy/public/422.html
181
193
  - test/dummy/public/500.html
182
194
  - test/dummy/public/favicon.ico
183
195
  - test/dummy/test/controllers/advertisers_controller_test.rb
196
+ - test/dummy/test/controllers/analytics_controller_test.rb
184
197
  - test/dummy/test/controllers/banners_controller_test.rb
185
198
  - test/dummy/test/controllers/campaigns_controller_test.rb
186
199
  - test/dummy/test/controllers/placements_controller_test.rb
187
200
  - test/dummy/test/controllers/publishers_controller_test.rb
188
201
  - test/dummy/test/controllers/zones_controller_test.rb
189
202
  - test/dummy/test/fixtures/advertisers.yml
203
+ - test/dummy/test/fixtures/analytics.yml
190
204
  - test/dummy/test/fixtures/banners.yml
191
205
  - test/dummy/test/fixtures/campaigns.yml
192
206
  - test/dummy/test/fixtures/placements.yml
193
207
  - test/dummy/test/fixtures/publishers.yml
194
208
  - test/dummy/test/fixtures/zones.yml
195
209
  - test/dummy/test/models/advertiser_test.rb
210
+ - test/dummy/test/models/analytic_test.rb
196
211
  - test/dummy/test/models/banner_test.rb
197
212
  - test/dummy/test/models/campaign_test.rb
198
213
  - test/dummy/test/models/placement_test.rb
199
214
  - test/dummy/test/models/publisher_test.rb
200
215
  - test/dummy/test/models/zone_test.rb
201
216
  - test/epom_rails/acts_as_advertiser_test.rb
217
+ - test/epom_rails/acts_as_analytic_test.rb
202
218
  - test/epom_rails/acts_as_banner_test.rb
203
219
  - test/epom_rails/acts_as_campaign_test.rb
204
220
  - test/epom_rails/acts_as_placement_test.rb
@@ -238,10 +254,12 @@ test_files:
238
254
  - test/epom_rails/acts_as_placement_test.rb
239
255
  - test/epom_rails/acts_as_campaign_test.rb
240
256
  - test/epom_rails/acts_as_banner_test.rb
257
+ - test/epom_rails/acts_as_analytic_test.rb
241
258
  - test/epom_rails/acts_as_advertiser_test.rb
242
259
  - test/dummy/config.ru
243
260
  - test/dummy/Rakefile
244
261
  - test/dummy/README.rdoc
262
+ - test/dummy/test/models/analytic_test.rb
245
263
  - test/dummy/test/models/zone_test.rb
246
264
  - test/dummy/test/models/publisher_test.rb
247
265
  - test/dummy/test/models/placement_test.rb
@@ -253,28 +271,31 @@ test_files:
253
271
  - test/dummy/test/fixtures/placements.yml
254
272
  - test/dummy/test/fixtures/campaigns.yml
255
273
  - test/dummy/test/fixtures/banners.yml
274
+ - test/dummy/test/fixtures/analytics.yml
256
275
  - test/dummy/test/fixtures/advertisers.yml
257
276
  - test/dummy/test/controllers/zones_controller_test.rb
258
277
  - test/dummy/test/controllers/publishers_controller_test.rb
259
278
  - test/dummy/test/controllers/placements_controller_test.rb
260
279
  - test/dummy/test/controllers/campaigns_controller_test.rb
261
280
  - test/dummy/test/controllers/banners_controller_test.rb
281
+ - test/dummy/test/controllers/analytics_controller_test.rb
262
282
  - test/dummy/test/controllers/advertisers_controller_test.rb
263
283
  - test/dummy/public/favicon.ico
264
284
  - test/dummy/public/500.html
265
285
  - test/dummy/public/422.html
266
286
  - test/dummy/public/404.html
267
287
  - test/dummy/db/schema.rb
288
+ - test/dummy/db/migrate/20150821041145_create_analytics.rb
289
+ - test/dummy/db/migrate/20150803195716_create_zones.rb
268
290
  - test/dummy/db/migrate/20150731161340_create_publishers.rb
269
291
  - test/dummy/db/migrate/20150622181754_create_placements.rb
270
- - test/dummy/db/migrate/20150622160449_create_zones.rb
271
292
  - test/dummy/db/migrate/20150609175407_create_banners.rb
272
293
  - test/dummy/db/migrate/20150608195747_add_epom_id_to_campaigns.rb
273
294
  - test/dummy/db/migrate/20150608194916_create_campaigns.rb
274
295
  - test/dummy/db/migrate/20150604125603_add_epom_id_to_advertiser.rb
275
296
  - test/dummy/db/migrate/20150603151041_create_advertisers.rb
276
- - test/dummy/config/secrets.yml
277
297
  - test/dummy/config/routes.rb
298
+ - test/dummy/config/secrets.yml
278
299
  - test/dummy/config/environment.rb
279
300
  - test/dummy/config/database.yml
280
301
  - test/dummy/config/boot.rb
@@ -295,11 +316,16 @@ test_files:
295
316
  - test/dummy/bin/rake
296
317
  - test/dummy/bin/rails
297
318
  - test/dummy/bin/bundle
319
+ - test/dummy/app/views/analytics/show.html.erb
320
+ - test/dummy/app/views/analytics/new.html.erb
321
+ - test/dummy/app/views/analytics/index.html.erb
322
+ - test/dummy/app/views/analytics/edit.html.erb
323
+ - test/dummy/app/views/analytics/_form.html.erb
298
324
  - test/dummy/app/views/zones/show.html.erb
299
- - test/dummy/app/views/zones/new.html.erb
300
325
  - test/dummy/app/views/zones/index.html.erb
301
- - test/dummy/app/views/zones/edit.html.erb
302
326
  - test/dummy/app/views/zones/_form.html.erb
327
+ - test/dummy/app/views/zones/new.html.erb
328
+ - test/dummy/app/views/zones/edit.html.erb
303
329
  - test/dummy/app/views/publishers/show.html.erb
304
330
  - test/dummy/app/views/publishers/new.html.erb
305
331
  - test/dummy/app/views/publishers/index.html.erb
@@ -331,7 +357,9 @@ test_files:
331
357
  - test/dummy/app/models/placement.rb
332
358
  - test/dummy/app/models/campaign.rb
333
359
  - test/dummy/app/models/banner.rb
360
+ - test/dummy/app/models/analytic.rb
334
361
  - test/dummy/app/models/advertiser.rb
362
+ - test/dummy/app/helpers/analytics_helper.rb
335
363
  - test/dummy/app/helpers/zones_helper.rb
336
364
  - test/dummy/app/helpers/publishers_helper.rb
337
365
  - test/dummy/app/helpers/placements_helper.rb
@@ -340,12 +368,14 @@ test_files:
340
368
  - test/dummy/app/helpers/application_helper.rb
341
369
  - test/dummy/app/helpers/advertisers_helper.rb
342
370
  - test/dummy/app/controllers/zones_controller.rb
371
+ - test/dummy/app/controllers/analytics_controller.rb
343
372
  - test/dummy/app/controllers/publishers_controller.rb
344
373
  - test/dummy/app/controllers/placements_controller.rb
345
374
  - test/dummy/app/controllers/campaigns_controller.rb
346
375
  - test/dummy/app/controllers/banners_controller.rb
347
376
  - test/dummy/app/controllers/application_controller.rb
348
377
  - test/dummy/app/controllers/advertisers_controller.rb
378
+ - test/dummy/app/assets/stylesheets/analytics.css
349
379
  - test/dummy/app/assets/stylesheets/zones.css
350
380
  - test/dummy/app/assets/stylesheets/scaffold.css
351
381
  - test/dummy/app/assets/stylesheets/publishers.css
@@ -354,6 +384,7 @@ test_files:
354
384
  - test/dummy/app/assets/stylesheets/banners.css
355
385
  - test/dummy/app/assets/stylesheets/application.css
356
386
  - test/dummy/app/assets/stylesheets/advertisers.css
387
+ - test/dummy/app/assets/javascripts/analytics.js
357
388
  - test/dummy/app/assets/javascripts/zones.js
358
389
  - test/dummy/app/assets/javascripts/publishers.js
359
390
  - test/dummy/app/assets/javascripts/placements.js