epom_rails 1.0.0 → 1.3.2

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.
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