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.
- checksums.yaml +4 -4
- data/lib/epom_rails/acts_as.rb +41 -14
- data/lib/epom_rails/acts_as_advertiser.rb +24 -0
- data/lib/epom_rails/acts_as_analytic.rb +33 -0
- data/lib/epom_rails/acts_as_campaign.rb +20 -1
- data/lib/epom_rails/acts_as_zone.rb +19 -0
- data/lib/epom_rails/config.rb +8 -6
- data/lib/epom_rails/version.rb +1 -1
- data/lib/epom_rails.rb +5 -3
- data/lib/generators/epom_rails/config/templates/epom_rails.rb +7 -4
- data/test/dummy/app/assets/javascripts/analytics.js +2 -0
- data/test/dummy/app/assets/stylesheets/analytics.css +4 -0
- data/test/dummy/app/controllers/analytics_controller.rb +58 -0
- data/test/dummy/app/controllers/zones_controller.rb +1 -1
- data/test/dummy/app/helpers/analytics_helper.rb +2 -0
- data/test/dummy/app/models/advertiser.rb +2 -1
- data/test/dummy/app/models/analytic.rb +3 -0
- data/test/dummy/app/models/banner.rb +2 -0
- data/test/dummy/app/models/campaign.rb +3 -0
- data/test/dummy/app/models/placement.rb +2 -0
- data/test/dummy/app/models/publisher.rb +1 -0
- data/test/dummy/app/models/zone.rb +3 -0
- data/test/dummy/app/views/analytics/_form.html.erb +133 -0
- data/test/dummy/app/views/analytics/edit.html.erb +6 -0
- data/test/dummy/app/views/analytics/index.html.erb +83 -0
- data/test/dummy/app/views/analytics/new.html.erb +5 -0
- data/test/dummy/app/views/analytics/show.html.erb +149 -0
- data/test/dummy/app/views/zones/_form.html.erb +2 -2
- data/test/dummy/app/views/zones/index.html.erb +2 -2
- data/test/dummy/app/views/zones/show.html.erb +2 -2
- data/test/dummy/config/routes.rb +2 -1
- data/test/dummy/db/migrate/{20150622160449_create_zones.rb → 20150803195716_create_zones.rb} +1 -1
- data/test/dummy/db/migrate/20150821041145_create_analytics.rb +37 -0
- data/test/dummy/db/schema.rb +38 -4
- data/test/dummy/test/controllers/analytics_controller_test.rb +49 -0
- data/test/dummy/test/controllers/banners_controller_test.rb +3 -1
- data/test/dummy/test/controllers/campaigns_controller_test.rb +4 -2
- data/test/dummy/test/controllers/placements_controller_test.rb +5 -3
- data/test/dummy/test/controllers/publishers_controller_test.rb +2 -2
- data/test/dummy/test/controllers/zones_controller_test.rb +5 -3
- data/test/dummy/test/fixtures/advertisers.yml +1 -0
- data/test/dummy/test/fixtures/analytics.yml +63 -0
- data/test/dummy/test/fixtures/banners.yml +16 -1
- data/test/dummy/test/fixtures/campaigns.yml +3 -2
- data/test/dummy/test/fixtures/placements.yml +4 -3
- data/test/dummy/test/fixtures/publishers.yml +2 -1
- data/test/dummy/test/fixtures/zones.yml +3 -2
- data/test/dummy/test/models/analytic_test.rb +7 -0
- data/test/epom_rails/acts_as_advertiser_test.rb +54 -1
- data/test/epom_rails/acts_as_analytic_test.rb +9 -0
- data/test/epom_rails/acts_as_banner_test.rb +9 -6
- data/test/epom_rails/acts_as_campaign_test.rb +24 -5
- data/test/epom_rails/acts_as_placement_test.rb +6 -3
- data/test/epom_rails/acts_as_site_test.rb +8 -5
- data/test/epom_rails/acts_as_zone_test.rb +16 -3
- data/test/test_helper.rb +8 -5
- metadata +42 -11
@@ -1,7 +1,7 @@
|
|
1
1
|
# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
|
2
2
|
|
3
3
|
one:
|
4
|
-
|
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
|
-
|
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
|
@@ -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
|
-
|
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(:
|
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(:
|
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(:
|
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.
|
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(:
|
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(:
|
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(:
|
37
|
+
campaign = campaigns(:two)
|
38
|
+
campaign.epom_id = nil
|
36
39
|
|
37
|
-
|
38
|
-
|
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(:
|
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(:
|
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(:
|
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(:
|
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(:
|
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(:
|
50
|
+
site = publishers(:two)
|
51
|
+
site.epom_id = nil
|
49
52
|
|
50
|
-
|
51
|
-
|
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(:
|
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(:
|
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(:
|
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',
|
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',
|
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',
|
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 => '
|
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',
|
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.
|
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-
|
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:
|
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:
|
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
|