rails_adserver 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/MIT-LICENSE +20 -0
- data/README.rdoc +0 -0
- data/Rakefile +40 -0
- data/app/assets/javascripts/rails_adserver/adspaces.js +2 -0
- data/app/assets/javascripts/rails_adserver/advertisements.js +2 -0
- data/app/assets/javascripts/rails_adserver/application.js +15 -0
- data/app/assets/javascripts/rails_adserver/rails_adserver_form.js.coffee +47 -0
- data/app/assets/stylesheets/rails_adserver/adspaces.css +4 -0
- data/app/assets/stylesheets/rails_adserver/advertisements.css +4 -0
- data/app/assets/stylesheets/rails_adserver/application.css +13 -0
- data/app/assets/stylesheets/rails_adserver/bootstrap-responsive.css +581 -0
- data/app/assets/stylesheets/rails_adserver/bootstrap.css +3496 -0
- data/app/assets/stylesheets/rails_adserver/pages.css +16 -0
- data/app/controllers/rails_adserver/adspaces_controller.rb +88 -0
- data/app/controllers/rails_adserver/advertisements_controller.rb +113 -0
- data/app/controllers/rails_adserver/application_controller.rb +25 -0
- data/app/controllers/rails_adserver/pages_controller.rb +9 -0
- data/app/helpers/rails_adserver/adspaces_helper.rb +4 -0
- data/app/helpers/rails_adserver/advertisements_helper.rb +4 -0
- data/app/helpers/rails_adserver/application_helper.rb +4 -0
- data/app/helpers/rails_adserver/pages_helper.rb +5 -0
- data/app/models/rails_adserver/adspace.rb +6 -0
- data/app/models/rails_adserver/advertisement.rb +110 -0
- data/app/models/rails_adserver/click.rb +5 -0
- data/app/uploaders/rails_adserver/advertisement_uploader.rb +56 -0
- data/app/views/layouts/rails_adserver/_sidebar.html.haml +21 -0
- data/app/views/layouts/rails_adserver/_topbar.html.haml +15 -0
- data/app/views/layouts/rails_adserver/advertisement.html.haml +3 -0
- data/app/views/layouts/rails_adserver/application.html.haml +25 -0
- data/app/views/rails_adserver/adspaces/_form.html.haml +16 -0
- data/app/views/rails_adserver/adspaces/edit.html.haml +1 -0
- data/app/views/rails_adserver/adspaces/index.html.haml +17 -0
- data/app/views/rails_adserver/adspaces/new.html.haml +1 -0
- data/app/views/rails_adserver/adspaces/show.html.haml +0 -0
- data/app/views/rails_adserver/advertisements/_advertisement.html.haml +7 -0
- data/app/views/rails_adserver/advertisements/_advertisements_table.html.haml +38 -0
- data/app/views/rails_adserver/advertisements/_form.html.haml +103 -0
- data/app/views/rails_adserver/advertisements/edit.html.haml +1 -0
- data/app/views/rails_adserver/advertisements/index.html.haml +2 -0
- data/app/views/rails_adserver/advertisements/new.html.haml +1 -0
- data/app/views/rails_adserver/advertisements/show.html.haml +5 -0
- data/app/views/rails_adserver/pages/home.html.haml +9 -0
- data/config/initializers/geokit.rb +1 -0
- data/config/initializers/haml.rb +2 -0
- data/config/routes.rb +10 -0
- data/db/migrate/20120227014859_create_rails_adserver_advertisements.rb +13 -0
- data/db/migrate/20120227014945_create_rails_adserver_clicks.rb +9 -0
- data/db/migrate/20120228000410_add_param_restriction_to_advertisement.rb +5 -0
- data/db/migrate/20120228000647_add_name_of_param_restriction_to_advertisement.rb +5 -0
- data/db/migrate/20120228010151_create_rails_adserver_adspaces.rb +8 -0
- data/db/migrate/20120228010315_add_name_to_adspace.rb +5 -0
- data/db/migrate/20120228043946_add_adspace_id_to_advertisement.rb +6 -0
- data/db/migrate/20120305034458_add_ad_type_to_advertisement.rb +6 -0
- data/db/migrate/20120305040026_add_parameter_restriction_boolean_to_advertisement.rb +6 -0
- data/db/migrate/20120305044238_add_more_options_to_advertisement.rb +7 -0
- data/db/migrate/20120305054319_add_image_to_advertisement.rb +5 -0
- data/db/migrate/20120305195421_add_max_clicks_to_advertisement.rb +6 -0
- data/db/migrate/20120305203049_add_indexes.rb +8 -0
- data/db/migrate/20120305212451_change_indexes.rb +11 -0
- data/db/migrate/20120305214753_add_click_count_to_advertisement.rb +6 -0
- data/db/migrate/20120306023105_geolocation.rb +5 -0
- data/db/migrate/20120306052705_add_geolocation_names_to_advertisements.rb +7 -0
- data/db/migrate/20120306065447_add_advertisement_indexes.rb +8 -0
- data/db/migrate/20120323174313_add_backup_boolean_to_ads.rb +5 -0
- data/db/migrate/20120328043354_add_view_count_to_ads.rb +6 -0
- data/db/migrate/20120328043651_add_views_to_ads.rb +6 -0
- data/lib/rails_adserver.rb +13 -0
- data/lib/rails_adserver/config.rb +13 -0
- data/lib/rails_adserver/engine.rb +5 -0
- data/lib/rails_adserver/version.rb +3 -0
- data/lib/tasks/rails_adserver_tasks.rake +4 -0
- data/test/dummy/README.rdoc +261 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/javascripts/application.js +15 -0
- data/test/dummy/app/assets/javascripts/page.js +5 -0
- data/test/dummy/app/assets/stylesheets/application.css +13 -0
- data/test/dummy/app/assets/stylesheets/page.css +4 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/controllers/page_controller.rb +4 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/helpers/page_helper.rb +2 -0
- data/test/dummy/app/models/user.rb +9 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/app/views/page/home.html.haml +1 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +57 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +67 -0
- data/test/dummy/config/environments/test.rb +37 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/carrierwave.rb +4 -0
- data/test/dummy/config/initializers/devise.rb +223 -0
- data/test/dummy/config/initializers/inflections.rb +15 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/rails_adserver.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/devise.en.yml +57 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/routes.rb +10 -0
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/migrate/20120227204751_devise_create_users.rb +49 -0
- data/test/dummy/db/migrate/20120307204255_add_can_manage_ads_to_users.rb +6 -0
- data/test/dummy/db/schema.rb +84 -0
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/development.log +26491 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +25 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/public/public/uploads/rails_adserver/advertisement/image/1/uszgP.jpg +0 -0
- data/test/dummy/script/rails +6 -0
- data/test/dummy/test/fixtures/users.yml +11 -0
- data/test/dummy/test/functional/page_controller_test.rb +9 -0
- data/test/dummy/test/unit/helpers/page_helper_test.rb +4 -0
- data/test/dummy/test/unit/user_test.rb +7 -0
- data/test/dummy/tmp/cache/assets/C8F/860/sprockets%2Fd57276033f66173927e782e5c5b90c7b +0 -0
- data/test/dummy/tmp/cache/assets/C9E/E90/sprockets%2F4cebc1ca866a787736432410406a1b50 +0 -0
- data/test/dummy/tmp/cache/assets/CA6/990/sprockets%2F379e6655f2bcbb2380bc62b313314727 +0 -0
- data/test/dummy/tmp/cache/assets/CA7/ED0/sprockets%2F1e7b5a8a1137789918c115c01224bf4e +0 -0
- data/test/dummy/tmp/cache/assets/CC5/850/sprockets%2F7744952a67b1f4545bee9716f198c19b +0 -0
- data/test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
- data/test/dummy/tmp/cache/assets/CE6/0F0/sprockets%2Ff173f2af55165a9415194d3e854c85da +0 -0
- data/test/dummy/tmp/cache/assets/CE7/DA0/sprockets%2F8ed8b29fe6a806301c31c79881a90c09 +0 -0
- data/test/dummy/tmp/cache/assets/CF2/CD0/sprockets%2Fda5995b74493c93c586f584b54c74a0b +0 -0
- data/test/dummy/tmp/cache/assets/CF3/920/sprockets%2F55f039ac18775d9358bdc75406f1e8f5 +0 -0
- data/test/dummy/tmp/cache/assets/D11/7F0/sprockets%2F9bcb57444f3287a8fa6fc45404e414c2 +0 -0
- data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/test/dummy/tmp/cache/assets/D35/D40/sprockets%2F75eff8f38359ea04cb0101ae2b91d702 +0 -0
- data/test/dummy/tmp/cache/assets/D3C/710/sprockets%2Fe62ab8b4376ed759a9cb72a62b0651e0 +0 -0
- data/test/dummy/tmp/cache/assets/D3D/A90/sprockets%2Fb9991dccd27b48a625b6a0146717ade3 +0 -0
- data/test/dummy/tmp/cache/assets/D3E/910/sprockets%2F5fdb0e602ada6a930583809f853d39bb +0 -0
- data/test/dummy/tmp/cache/assets/D3F/D00/sprockets%2Fbe9a1d851c3b30e4a710983eda7f7196 +0 -0
- data/test/dummy/tmp/cache/assets/D42/E30/sprockets%2F261c172e1fdf9b39a4678a48371eaad6 +0 -0
- data/test/dummy/tmp/cache/assets/D4D/2F0/sprockets%2Fd7dd6367378df15e4f0bb6d93fb41529 +0 -0
- data/test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/test/dummy/tmp/cache/assets/D5C/210/sprockets%2Fc78ac0bb1ca02e0ac1a566663840f8d6 +0 -0
- data/test/dummy/tmp/cache/assets/D5D/040/sprockets%2F539152cca8a2a9422e2a3ffa2a285d2d +0 -0
- data/test/dummy/tmp/cache/assets/D6D/670/sprockets%2F6ca4a9214539aeaf6f8401d3b77af16f +0 -0
- data/test/dummy/tmp/cache/assets/D73/BD0/sprockets%2Fac1f8d241dad59f05983cc1039ff4c58 +0 -0
- data/test/dummy/tmp/cache/assets/D7B/EA0/sprockets%2F0faa78844d169df84da0f122c89eb4f9 +0 -0
- data/test/dummy/tmp/cache/assets/D93/220/sprockets%2Fc0dcb0c6b055384fbd88d5b529c0da08 +0 -0
- data/test/dummy/tmp/cache/assets/DA0/180/sprockets%2F399fd2be6e4cf00a819a2630f8dd7ea2 +0 -0
- data/test/dummy/tmp/cache/assets/DB3/D90/sprockets%2F13d110dd2bde3bcd20b72f882330feae +0 -0
- data/test/dummy/tmp/cache/assets/DBA/2C0/sprockets%2F3879aa153bb0fe0de0fa0281f8cba2f2 +0 -0
- data/test/dummy/tmp/cache/assets/DCD/700/sprockets%2F57ee5a1f5e64e611b990eeadb75b14cb +0 -0
- data/test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/test/dummy/tmp/cache/assets/DDD/700/sprockets%2F78da8de4fc4dba2a5e7fa624ff518973 +0 -0
- data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/test/dummy/tmp/cache/assets/E06/950/sprockets%2Fbc8b0eff6fc13759f0c069b4f8bc3e6c +0 -0
- data/test/dummy/tmp/cache/assets/EB3/120/sprockets%2Fbaadea6fabac9ad5d1215ef8d3bf67a6 +0 -0
- data/test/fixtures/rails_adserver/adspaces.yml +11 -0
- data/test/fixtures/rails_adserver/advertisements.yml +15 -0
- data/test/fixtures/rails_adserver/clicks.yml +7 -0
- data/test/functional/rails_adserver/adspaces_controller_test.rb +51 -0
- data/test/functional/rails_adserver/advertisements_controller_test.rb +51 -0
- data/test/functional/rails_adserver/pages_controller_test.rb +9 -0
- data/test/integration/navigation_test.rb +10 -0
- data/test/rails_adserver_test.rb +7 -0
- data/test/test_helper.rb +10 -0
- data/test/unit/helpers/rails_adserver/adspaces_helper_test.rb +6 -0
- data/test/unit/helpers/rails_adserver/advertisements_helper_test.rb +6 -0
- data/test/unit/helpers/rails_adserver/pages_helper_test.rb +6 -0
- data/test/unit/rails_adserver/adspace_test.rb +9 -0
- data/test/unit/rails_adserver/advertisement_test.rb +9 -0
- data/test/unit/rails_adserver/click_test.rb +9 -0
- data/test/unit/rails_adserver/clicks_test.rb +9 -0
- metadata +401 -0
@@ -0,0 +1,21 @@
|
|
1
|
+
.span3
|
2
|
+
.well.sidebar-nav
|
3
|
+
%ul.nav.nav-list
|
4
|
+
%li.nav-header Navigation
|
5
|
+
%li
|
6
|
+
%a{:href => root_path}
|
7
|
+
Overview
|
8
|
+
%li.nav-header Ad-Spaces
|
9
|
+
%li
|
10
|
+
%a{:href => adspaces_path}
|
11
|
+
Ad-Spaces
|
12
|
+
%li
|
13
|
+
%a{:href => new_adspace_path}
|
14
|
+
New Ad-Space
|
15
|
+
%li.nav-header Advertisements
|
16
|
+
%li
|
17
|
+
%a{:href => advertisements_path}
|
18
|
+
Advertisements
|
19
|
+
%li
|
20
|
+
%a{:href => new_advertisement_path}
|
21
|
+
New Advertisement
|
@@ -0,0 +1,15 @@
|
|
1
|
+
.navbar.navbar-fixed-top
|
2
|
+
.navbar-inner
|
3
|
+
.container-fluid
|
4
|
+
%a.btn.btn-navbar{"data-target" => ".nav-collapse", "data-toggle" => "collapse"}
|
5
|
+
%span.icon-bar
|
6
|
+
%span.icon-bar
|
7
|
+
%span.icon-bar
|
8
|
+
%a.brand{:href => root_path}= "#{_application_name} Adserver"
|
9
|
+
.nav-collapse
|
10
|
+
%ul.nav
|
11
|
+
%li
|
12
|
+
%a{:href => "/"} Application
|
13
|
+
%p.navbar-text.pull-right
|
14
|
+
Logged in as
|
15
|
+
%a{:href => "#"}= "#{_current_user.email}"
|
@@ -0,0 +1,25 @@
|
|
1
|
+
!!! 5
|
2
|
+
%html
|
3
|
+
%head
|
4
|
+
%title= "Adserver | #{@title}"
|
5
|
+
= stylesheet_link_tag "rails_adserver/application", :media => "all"
|
6
|
+
= javascript_include_tag "rails_adserver/application"
|
7
|
+
= csrf_meta_tags
|
8
|
+
:css
|
9
|
+
body {
|
10
|
+
padding-top: 60px;
|
11
|
+
padding-bottom: 40px;
|
12
|
+
}
|
13
|
+
.sidebar-nav {
|
14
|
+
padding: 9px 0;
|
15
|
+
}
|
16
|
+
%body
|
17
|
+
= render 'layouts/rails_adserver/topbar'
|
18
|
+
.container-fluid
|
19
|
+
.row-fluid
|
20
|
+
= render 'layouts/rails_adserver/sidebar'
|
21
|
+
.span9
|
22
|
+
= yield
|
23
|
+
|
24
|
+
%footer
|
25
|
+
%p © Rails Adserver 2012
|
@@ -0,0 +1,16 @@
|
|
1
|
+
= form_for(@adspace, :html => {:class => 'form-horizontal'}) do |f|
|
2
|
+
- if @adspace.errors.any?
|
3
|
+
#error_explanation
|
4
|
+
%h2
|
5
|
+
= pluralize(@adspace.errors.count, "error")
|
6
|
+
prohibited this adspace from being saved:
|
7
|
+
%ul
|
8
|
+
- @adspace.errors.full_messages.each do |msg|
|
9
|
+
%li= msg
|
10
|
+
%legend= @title
|
11
|
+
.control-group
|
12
|
+
= f.label :name, :class => 'control-label'
|
13
|
+
.controls
|
14
|
+
= f.text_field :name
|
15
|
+
.form-actions
|
16
|
+
= f.submit "Submit", :class => 'btn btn-primary'
|
@@ -0,0 +1 @@
|
|
1
|
+
= render 'form'
|
@@ -0,0 +1,17 @@
|
|
1
|
+
%h1= @title
|
2
|
+
%table.table.table-striped
|
3
|
+
%tr
|
4
|
+
%th Id
|
5
|
+
%th Name
|
6
|
+
%th
|
7
|
+
%th
|
8
|
+
%th
|
9
|
+
- @adspaces.each do |adspace|
|
10
|
+
%tr
|
11
|
+
%td= adspace.id
|
12
|
+
%td= adspace.name
|
13
|
+
%td= link_to 'Show', adspace
|
14
|
+
%td= link_to 'Edit', edit_adspace_path(adspace)
|
15
|
+
%td= link_to 'Destroy', adspace, confirm: 'Are you sure?', method: :delete
|
16
|
+
%br/
|
17
|
+
= link_to 'New Adspace', new_adspace_path
|
@@ -0,0 +1 @@
|
|
1
|
+
= render 'form'
|
File without changes
|
@@ -0,0 +1,7 @@
|
|
1
|
+
.advertisement{:style=>'text-align:center'}
|
2
|
+
- unless @advertisement == nil
|
3
|
+
- if @advertisement.ad_type == 'ad_service'
|
4
|
+
= @advertisement.ad_text.html_safe
|
5
|
+
- elsif @advertisement.ad_type == 'image_link'
|
6
|
+
%a{:href => rails_adserver.ad_click_path(@advertisement.id), :rel => "nofollow"}
|
7
|
+
= image_tag @advertisement.image_url, :size => "#{@advertisement.width}x#{@advertisement.height}"
|
@@ -0,0 +1,38 @@
|
|
1
|
+
%table.table.table-striped
|
2
|
+
%tr
|
3
|
+
%th Title
|
4
|
+
%th Active?
|
5
|
+
%th Max Clicks
|
6
|
+
%th Clicks
|
7
|
+
%th Max Impressions
|
8
|
+
%th Impressions
|
9
|
+
%th
|
10
|
+
%th
|
11
|
+
%th
|
12
|
+
- @advertisements.each do |advertisement|
|
13
|
+
%tr
|
14
|
+
%td= advertisement.title
|
15
|
+
%td= advertisement.is_active
|
16
|
+
%td
|
17
|
+
- if advertisement.max_clicks == 0 || advertisement.max_clicks == nil
|
18
|
+
Unlimited
|
19
|
+
- else
|
20
|
+
= advertisement.max_clicks
|
21
|
+
%td
|
22
|
+
- if advertisement.clicks == []
|
23
|
+
None
|
24
|
+
-else
|
25
|
+
= advertisement.clicks
|
26
|
+
%td
|
27
|
+
- if advertisement.max_impressions == 0 || advertisement.max_impressions == nil
|
28
|
+
Unlimited
|
29
|
+
- else
|
30
|
+
= advertisement.max_impressions
|
31
|
+
%td
|
32
|
+
- if advertisement.impressions_count == []
|
33
|
+
None
|
34
|
+
-else
|
35
|
+
= advertisement.impressions_count
|
36
|
+
%td= link_to 'Show', advertisement
|
37
|
+
%td= link_to 'Edit', edit_advertisement_path(advertisement)
|
38
|
+
%td= link_to 'Destroy', advertisement, confirm: 'Are you sure?', method: :delete
|
@@ -0,0 +1,103 @@
|
|
1
|
+
= form_for(@advertisement, :html => {:class => 'form-horizontal', :multipart => true}) do |f|
|
2
|
+
- if @advertisement.errors.any?
|
3
|
+
#error_explanation
|
4
|
+
%h2
|
5
|
+
= pluralize(@advertisement.errors.count, "error")
|
6
|
+
prohibited this advertisement from being saved:
|
7
|
+
%ul
|
8
|
+
- @advertisement.errors.full_messages.each do |msg|
|
9
|
+
%li= msg
|
10
|
+
%legend= @title
|
11
|
+
.control-group
|
12
|
+
= f.label :title, :class => "control-label"
|
13
|
+
.controls
|
14
|
+
= f.text_field :title
|
15
|
+
.control-group
|
16
|
+
= f.label :adspace, :class => "control-label"
|
17
|
+
.controls
|
18
|
+
= f.collection_select :adspace_id, RailsAdserver::Adspace.all, :id, :name, :prompt => true
|
19
|
+
.control-group
|
20
|
+
= f.label :ad_type, :class => "control-label"
|
21
|
+
.controls
|
22
|
+
%label.radio
|
23
|
+
= f.radio_button(:ad_type, "ad_service")
|
24
|
+
Script Ad
|
25
|
+
%label.radio
|
26
|
+
= f.radio_button(:ad_type, "image_link")
|
27
|
+
Image Link
|
28
|
+
.control-group
|
29
|
+
= f.label "Backup Ad", :class => 'control-label'
|
30
|
+
.controls
|
31
|
+
= f.check_box :backup
|
32
|
+
.control-group
|
33
|
+
= f.label :ad_text, :class => "control-label", :id => "ad_text"
|
34
|
+
.controls
|
35
|
+
= f.text_area :ad_text, :rows => "5"
|
36
|
+
.control-group
|
37
|
+
= f.label :ad_image, :class => 'control-label', :id => 'image'
|
38
|
+
.controls
|
39
|
+
= f.file_field :image, :class => "input-file"
|
40
|
+
.control-group
|
41
|
+
= f.label :width, :class => "control-label", :id => "width"
|
42
|
+
.controls
|
43
|
+
= f.number_field :width
|
44
|
+
.control-group
|
45
|
+
= f.label :height, :class => "control-label", :id => "height"
|
46
|
+
.controls
|
47
|
+
= f.number_field :height
|
48
|
+
.control-group
|
49
|
+
= f.label :url, :class => "control-label", :id => "url"
|
50
|
+
.controls
|
51
|
+
= f.text_field :url
|
52
|
+
.control-group
|
53
|
+
= f.label :max_clicks, :class => "control-label"
|
54
|
+
.controls
|
55
|
+
= f.number_field :max_clicks
|
56
|
+
%p.help-block Use 0 or blank for infinite clicks.
|
57
|
+
.control-group
|
58
|
+
= f.label "Max Impressions", :class => "control-label"
|
59
|
+
.controls
|
60
|
+
= f.number_field :max_impressions
|
61
|
+
%p.help-block Use 0 or blank for infinite impressions.
|
62
|
+
.control-group
|
63
|
+
= f.label "Parameter Restriction?", :class => "control-label"
|
64
|
+
.controls
|
65
|
+
%label.radio
|
66
|
+
= f.radio_button(:parameter_restriction_boolean, false)
|
67
|
+
False
|
68
|
+
%label.radio
|
69
|
+
= f.radio_button(:parameter_restriction_boolean, true)
|
70
|
+
True
|
71
|
+
.control-group
|
72
|
+
= f.label :param_restriction_name, :class => "control-label", :id => "param_name"
|
73
|
+
.controls
|
74
|
+
%select{:id => "advertisement_param_restriction_name", :name => "advertisement[param_restriction_name]"}
|
75
|
+
- ActiveRecord::Base.descendants.each do |model|
|
76
|
+
- unless model.name == "RailsAdserver::Advertisement" or model.name == "RailsAdserver::Adspace"
|
77
|
+
%optgroup{:label => "#{model.name}"}
|
78
|
+
- model.column_names.each do |name|
|
79
|
+
%option{:value => "#{name}"}= name
|
80
|
+
%p.help-block Optional, Name for Reference
|
81
|
+
.control-group
|
82
|
+
= f.label :param_restriction, :class => "control-label", :id => "param_restriction_value"
|
83
|
+
.controls
|
84
|
+
= f.text_field :param_restriction
|
85
|
+
.control-group
|
86
|
+
= f.label :geolocation?, :class => "control-label", :id => "geo"
|
87
|
+
.controls
|
88
|
+
%label.radio
|
89
|
+
= f.radio_button(:geolocation_boolean, false)
|
90
|
+
False
|
91
|
+
%label.radio
|
92
|
+
= f.radio_button(:geolocation_boolean, true)
|
93
|
+
True
|
94
|
+
.control-group
|
95
|
+
= f.label :geolocation_location, :class => "control-label", :id => "geo_location"
|
96
|
+
.controls
|
97
|
+
= f.text_field :geolocation_location
|
98
|
+
.control-group
|
99
|
+
= f.label :active, :class => "control-label"
|
100
|
+
.controls
|
101
|
+
= f.check_box :is_active
|
102
|
+
.form-actions
|
103
|
+
= f.submit "Submit", :class => "btn btn-primary"
|
@@ -0,0 +1 @@
|
|
1
|
+
= render 'form'
|
@@ -0,0 +1 @@
|
|
1
|
+
= render 'form'
|
@@ -0,0 +1,9 @@
|
|
1
|
+
- @adspaces.each do |space|
|
2
|
+
%h1= "#{space.name} Active Ads:"
|
3
|
+
- @advertisements = space.advertisements.where('is_active = ?',true)
|
4
|
+
- unless @advertisements == []
|
5
|
+
= render 'rails_adserver/advertisements/advertisements_table', :locals => { :object => @advertisements }
|
6
|
+
- else
|
7
|
+
No Active Ads
|
8
|
+
%br/
|
9
|
+
%br/
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'geokit'
|
data/config/routes.rb
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
RailsAdserver::Engine.routes.draw do
|
2
|
+
resources :adspaces
|
3
|
+
|
4
|
+
resources :advertisements
|
5
|
+
root :to => 'pages#home'
|
6
|
+
match '/ad_rotator/:id', :to => 'pages#rotator'
|
7
|
+
match '/click/:id', :to => 'advertisements#click', :as => 'ad_click'
|
8
|
+
match '/ad/space/:adspace_id/param/:id', :to => 'advertisements#ad_param'
|
9
|
+
match '/ad/space/:adspace_id', :to => 'advertisements#ad_space'
|
10
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class CreateRailsAdserverAdvertisements < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :rails_adserver_advertisements do |t|
|
4
|
+
t.string :title
|
5
|
+
t.text :content
|
6
|
+
t.integer :width
|
7
|
+
t.integer :height
|
8
|
+
t.boolean :is_active
|
9
|
+
|
10
|
+
t.timestamps
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
class AddMoreOptionsToAdvertisement < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
add_column :rails_adserver_advertisements, :ad_text, :text
|
4
|
+
add_column :rails_adserver_advertisements, :url, :string
|
5
|
+
add_column :rails_adserver_advertisements, :geolocation_boolean, :boolean
|
6
|
+
end
|
7
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
class AddIndexes < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
add_column :rails_adserver_clicks, :rails_adserver_advertisement_id, :integer
|
4
|
+
add_index :rails_adserver_clicks, :rails_adserver_advertisement_id, :name => 'rails_adserver_clicks_ad_id_index'
|
5
|
+
add_column :rails_adserver_advertisements, :rails_adserver_adspace_id, :integer
|
6
|
+
add_index :rails_adserver_advertisements, :rails_adserver_adspace_id, :name => 'rails_adserver_clicks_adspace_id_index'
|
7
|
+
end
|
8
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
class ChangeIndexes < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
remove_index :rails_adserver_clicks, :name => 'rails_adserver_clicks_ad_id_index'
|
4
|
+
remove_index :rails_adserver_advertisements, :name => 'rails_adserver_clicks_adspace_id_index'
|
5
|
+
remove_column :rails_adserver_clicks, :rails_adserver_advertisement_id
|
6
|
+
remove_column :rails_adserver_advertisements, :rails_adserver_adspace_id
|
7
|
+
|
8
|
+
add_column :rails_adserver_clicks, :advertisement_id, :integer
|
9
|
+
add_index :rails_adserver_clicks, :advertisement_id
|
10
|
+
end
|
11
|
+
end
|