epom_rails 0.2 → 0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 627cf566abe1147d469cc965d59db47ec23a7c07
4
- data.tar.gz: 59e1b683d0dd2bf4e699c574b44133fcb5c4810f
3
+ metadata.gz: 2d88b3789f18a9ff4b47d9318c70280bed18fd8b
4
+ data.tar.gz: 9264c734b76b1fc35c6e1a7e23cf951a845c47eb
5
5
  SHA512:
6
- metadata.gz: 30257344d059d2583643eb191254a490448086623891bcf3cfdb36da9b67f93a7e059b73f4fb11a2e3c3eded13aa8a51cd5fc8422b2249f35739844af8c4bf58
7
- data.tar.gz: 361e0454d81063855d57b0411898414ba6424048bb89d6d8e5018b77f3f793f0f0f5a374883a9357a5ed179d638a68bfddef7593812ec8bc66bf8f7904a5361b
6
+ metadata.gz: 983f66102b4a91e1c8a835bf1ba8d358dbcb4620dc28e4296e5aefeb71a0e39fd199596dc1cd177655dc74386b80f340f7e791e1e987e44db40dd70cd3e2891d
7
+ data.tar.gz: d4b82d0b69e798fb4f0b5ab45ac2d7246f8e385d5d648b1893f5283cee6107484ee8864acf6af9e1995c36b9cec2281d56df073509bba17aaba1b3f896d30afb
@@ -8,6 +8,10 @@ class ActiveRecord::Base
8
8
  acts_as(Epom::Campaign, fields)
9
9
  end
10
10
 
11
+ def self.acts_as_banner(fields = {})
12
+ acts_as(Epom::Banner, fields)
13
+ end
14
+
11
15
  private
12
16
 
13
17
  def self.acts_as(klass, fields = {})
@@ -26,21 +30,25 @@ class ActiveRecord::Base
26
30
  before_save do
27
31
  klass_name = klass.name.include?('::') ? klass.name.split('::').last : klass.name
28
32
 
29
- timestamp = Time.now.to_i * 1000
30
- body_params = {
31
- :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
32
- :timestamp => timestamp,
33
- :username => ENV['username']
34
- }
35
- fields.each { |local_field, remote_field| body_params[remote_field] = self.send local_field }
36
-
37
- if self.send fields.key('id')
38
- # update in Epom
39
- epom_response = klass.send "update_#{klass_name.downcase}", {}, body_params
40
- else
41
- # create in Epom
42
- body_params.delete('id')
43
- epom_response = klass.send "create_#{klass_name.downcase}", {}, body_params
33
+ method = if self.send fields.key('id') then "update_#{klass_name.downcase}" else "create_#{klass_name.downcase}" end
34
+
35
+ url_params = {}
36
+ if klass.extended_methods[method.to_sym][:url_parameters]
37
+ klass.extended_methods[method.to_sym][:url_parameters].each do |parameter|
38
+ url_params[parameter] = self.send(fields.key(parameter.to_s)) if fields.key(parameter.to_s)
39
+ end
40
+ end
41
+
42
+ body_params = {}
43
+ if klass.extended_methods[method.to_sym][:body_parameters]
44
+ klass.extended_methods[method.to_sym][:body_parameters].each do |parameter|
45
+ body_params[parameter] = self.send(fields.key(parameter.to_s)) if fields.key(parameter.to_s)
46
+ end
47
+ end
48
+
49
+ epom_response = klass.send method, url_params, body_params
50
+
51
+ unless self.send fields.key('id')
44
52
  # save id value returned from Epom in an Advertiser column
45
53
  self.send "#{fields.key('id')}=", epom_response['id']
46
54
  end
@@ -55,7 +63,7 @@ class ActiveRecord::Base
55
63
  if self.send fields.key('id')
56
64
  klass_name = klass.name.include?('::') ? klass.name.split('::').last : klass.name
57
65
  epom_response = klass.send "delete_#{klass_name.downcase}", {"#{klass_name.downcase}Id" => self.send(fields.key('id'))}, {}
58
- epom_response['success']
66
+ epom_response['success'] if epom_response
59
67
  end
60
68
  end
61
69
  end
@@ -1,3 +1,3 @@
1
1
  module EpomRails
2
- VERSION = "0.2"
2
+ VERSION = "0.3"
3
3
  end
data/lib/epom_rails.rb CHANGED
@@ -4,6 +4,8 @@ require 'epom_rails/acts_as'
4
4
  module EpomRails
5
5
  attr_accessor :epom_klass, :epom_fields
6
6
 
7
+ Epom::EpomElement.login(ENV['username'], ENV['password'])
8
+
7
9
  def method_missing(method_name, *args)
8
10
  if epom_klass.respond_to?(method_name)
9
11
  epom_klass.send(method_name, args[0], args[1])
@@ -0,0 +1,2 @@
1
+ // Place all the behaviors and hooks related to the matching controller here.
2
+ // All this logic will automatically be available in application.js.
@@ -0,0 +1,4 @@
1
+ /*
2
+ Place all the styles related to the matching controller here.
3
+ They will automatically be included in application.css.
4
+ */
@@ -0,0 +1,58 @@
1
+ class BannersController < ApplicationController
2
+ before_action :set_banner, only: [:show, :edit, :update, :destroy]
3
+
4
+ # GET /banners
5
+ def index
6
+ @banners = Banner.all
7
+ end
8
+
9
+ # GET /banners/1
10
+ def show
11
+ end
12
+
13
+ # GET /banners/new
14
+ def new
15
+ @banner = Banner.new
16
+ end
17
+
18
+ # GET /banners/1/edit
19
+ def edit
20
+ end
21
+
22
+ # POST /banners
23
+ def create
24
+ @banner = Banner.new(banner_params)
25
+
26
+ if @banner.save
27
+ redirect_to @banner, notice: 'Banner was successfully created.'
28
+ else
29
+ render :new
30
+ end
31
+ end
32
+
33
+ # PATCH/PUT /banners/1
34
+ def update
35
+ if @banner.update(banner_params)
36
+ redirect_to @banner, notice: 'Banner was successfully updated.'
37
+ else
38
+ render :edit
39
+ end
40
+ end
41
+
42
+ # DELETE /banners/1
43
+ def destroy
44
+ @banner.destroy
45
+ redirect_to banners_url, notice: 'Banner was successfully destroyed.'
46
+ end
47
+
48
+ private
49
+ # Use callbacks to share common setup or constraints between actions.
50
+ def set_banner
51
+ @banner = Banner.find(params[:id])
52
+ end
53
+
54
+ # Only allow a trusted parameter "white list" through.
55
+ def banner_params
56
+ params.require(:banner).permit(:epom_id, :placement_type, :campaign_id, :weight, :image_banner_link, :url, :name, :banner_type, :ad_unit_id, :ad_unit_width, :ad_unit_height)
57
+ end
58
+ end
@@ -0,0 +1,2 @@
1
+ module BannersHelper
2
+ end
@@ -0,0 +1,3 @@
1
+ class Banner < ActiveRecord::Base
2
+ acts_as_banner 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'
3
+ end
@@ -0,0 +1,61 @@
1
+ <%= form_for(@banner) do |f| %>
2
+ <% if @banner.errors.any? %>
3
+ <div id="error_explanation">
4
+ <h2><%= pluralize(@banner.errors.count, "error") %> prohibited this banner from being saved:</h2>
5
+
6
+ <ul>
7
+ <% @banner.errors.full_messages.each do |message| %>
8
+ <li><%= message %></li>
9
+ <% end %>
10
+ </ul>
11
+ </div>
12
+ <% end %>
13
+
14
+ <div class="field">
15
+ <%= f.label :epom_id %><br>
16
+ <%= f.number_field :epom_id %>
17
+ </div>
18
+ <div class="field">
19
+ <%= f.label :placement_type %><br>
20
+ <%= f.text_field :placement_type %>
21
+ </div>
22
+ <div class="field">
23
+ <%= f.label :campaign_id %><br>
24
+ <%= f.number_field :campaign_id %>
25
+ </div>
26
+ <div class="field">
27
+ <%= f.label :weight %><br>
28
+ <%= f.number_field :weight %>
29
+ </div>
30
+ <div class="field">
31
+ <%= f.label :image_banner_link %><br>
32
+ <%= f.text_field :image_banner_link %>
33
+ </div>
34
+ <div class="field">
35
+ <%= f.label :url %><br>
36
+ <%= f.text_field :url %>
37
+ </div>
38
+ <div class="field">
39
+ <%= f.label :name %><br>
40
+ <%= f.text_field :name %>
41
+ </div>
42
+ <div class="field">
43
+ <%= f.label :banner_type %><br>
44
+ <%= f.text_field :banner_type %>
45
+ </div>
46
+ <div class="field">
47
+ <%= f.label :ad_unit_id %><br>
48
+ <%= f.number_field :ad_unit_id %>
49
+ </div>
50
+ <div class="field">
51
+ <%= f.label :ad_unit_width %><br>
52
+ <%= f.number_field :ad_unit_width %>
53
+ </div>
54
+ <div class="field">
55
+ <%= f.label :ad_unit_height %><br>
56
+ <%= f.number_field :ad_unit_height %>
57
+ </div>
58
+ <div class="actions">
59
+ <%= f.submit %>
60
+ </div>
61
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <h1>Editing Banner</h1>
2
+
3
+ <%= render 'form' %>
4
+
5
+ <%= link_to 'Show', @banner %> |
6
+ <%= link_to 'Back', banners_path %>
@@ -0,0 +1,47 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+ <h1>Listing Banners</h1>
4
+
5
+ <table>
6
+ <thead>
7
+ <tr>
8
+ <th>Epom</th>
9
+ <th>Placement type</th>
10
+ <th>Campaign</th>
11
+ <th>Weight</th>
12
+ <th>Image banner link</th>
13
+ <th>Url</th>
14
+ <th>Name</th>
15
+ <th>Banner type</th>
16
+ <th>Ad unit</th>
17
+ <th>Ad unit width</th>
18
+ <th>Ad unit height</th>
19
+ <th colspan="3"></th>
20
+ </tr>
21
+ </thead>
22
+
23
+ <tbody>
24
+ <% @banners.each do |banner| %>
25
+ <tr>
26
+ <td><%= banner.epom_id %></td>
27
+ <td><%= banner.placement_type %></td>
28
+ <td><%= banner.campaign_id %></td>
29
+ <td><%= banner.weight %></td>
30
+ <td><%= banner.image_banner_link %></td>
31
+ <td><%= banner.url %></td>
32
+ <td><%= banner.name %></td>
33
+ <td><%= banner.banner_type %></td>
34
+ <td><%= banner.ad_unit_id %></td>
35
+ <td><%= banner.ad_unit_width %></td>
36
+ <td><%= banner.ad_unit_height %></td>
37
+ <td><%= link_to 'Show', banner %></td>
38
+ <td><%= link_to 'Edit', edit_banner_path(banner) %></td>
39
+ <td><%= link_to 'Destroy', banner, method: :delete, data: { confirm: 'Are you sure?' } %></td>
40
+ </tr>
41
+ <% end %>
42
+ </tbody>
43
+ </table>
44
+
45
+ <br>
46
+
47
+ <%= link_to 'New Banner', new_banner_path %>
@@ -0,0 +1,5 @@
1
+ <h1>New Banner</h1>
2
+
3
+ <%= render 'form' %>
4
+
5
+ <%= link_to 'Back', banners_path %>
@@ -0,0 +1,59 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+ <p>
4
+ <strong>Epom:</strong>
5
+ <%= @banner.epom_id %>
6
+ </p>
7
+
8
+ <p>
9
+ <strong>Placement type:</strong>
10
+ <%= @banner.placement_type %>
11
+ </p>
12
+
13
+ <p>
14
+ <strong>Campaign:</strong>
15
+ <%= @banner.campaign_id %>
16
+ </p>
17
+
18
+ <p>
19
+ <strong>Weight:</strong>
20
+ <%= @banner.weight %>
21
+ </p>
22
+
23
+ <p>
24
+ <strong>Image banner link:</strong>
25
+ <%= @banner.image_banner_link %>
26
+ </p>
27
+
28
+ <p>
29
+ <strong>Url:</strong>
30
+ <%= @banner.url %>
31
+ </p>
32
+
33
+ <p>
34
+ <strong>Name:</strong>
35
+ <%= @banner.name %>
36
+ </p>
37
+
38
+ <p>
39
+ <strong>Banner type:</strong>
40
+ <%= @banner.banner_type %>
41
+ </p>
42
+
43
+ <p>
44
+ <strong>Ad unit:</strong>
45
+ <%= @banner.ad_unit_id %>
46
+ </p>
47
+
48
+ <p>
49
+ <strong>Ad unit width:</strong>
50
+ <%= @banner.ad_unit_width %>
51
+ </p>
52
+
53
+ <p>
54
+ <strong>Ad unit height:</strong>
55
+ <%= @banner.ad_unit_height %>
56
+ </p>
57
+
58
+ <%= link_to 'Edit', edit_banner_path(@banner) %> |
59
+ <%= link_to 'Back', banners_path %>
@@ -1,4 +1,5 @@
1
1
  Rails.application.routes.draw do
2
+ resources :banners
2
3
  resources :campaigns
3
4
  resources :campaigns
4
5
  resources :campaigns
@@ -0,0 +1,5 @@
1
+ class AddEpomIdToCampaigns < ActiveRecord::Migration
2
+ def change
3
+ add_column :campaigns, :epom_id, :integer
4
+ end
5
+ end
@@ -0,0 +1,19 @@
1
+ class CreateBanners < ActiveRecord::Migration
2
+ def change
3
+ create_table :banners do |t|
4
+ t.integer :epom_id
5
+ t.string :placement_type
6
+ t.integer :campaign_id
7
+ t.integer :weight
8
+ t.string :image_banner_link
9
+ t.string :url
10
+ t.string :name
11
+ t.string :banner_type
12
+ t.integer :ad_unit_id
13
+ t.integer :ad_unit_width
14
+ t.integer :ad_unit_height
15
+
16
+ t.timestamps null: false
17
+ end
18
+ end
19
+ end
@@ -11,7 +11,7 @@
11
11
  #
12
12
  # It's strongly recommended that you check this file into your version control system.
13
13
 
14
- ActiveRecord::Schema.define(version: 20150608195747) do
14
+ ActiveRecord::Schema.define(version: 20150609175407) do
15
15
 
16
16
  create_table "advertisers", force: :cascade do |t|
17
17
  t.string "name"
@@ -23,6 +23,22 @@ ActiveRecord::Schema.define(version: 20150608195747) do
23
23
  t.integer "epom_id"
24
24
  end
25
25
 
26
+ create_table "banners", force: :cascade do |t|
27
+ t.integer "epom_id"
28
+ t.string "placement_type"
29
+ t.integer "campaign_id"
30
+ t.integer "weight"
31
+ t.string "image_banner_link"
32
+ t.string "url"
33
+ t.string "name"
34
+ t.string "banner_type"
35
+ t.integer "ad_unit_id"
36
+ t.integer "ad_unit_width"
37
+ t.integer "ad_unit_height"
38
+ t.datetime "created_at", null: false
39
+ t.datetime "updated_at", null: false
40
+ end
41
+
26
42
  create_table "campaigns", force: :cascade do |t|
27
43
  t.string "name"
28
44
  t.integer "advertiser_id"
@@ -0,0 +1,49 @@
1
+ require 'test_helper'
2
+
3
+ class BannersControllerTest < ActionController::TestCase
4
+ setup do
5
+ @banner = banners(:one)
6
+ end
7
+
8
+ test "should get index" do
9
+ get :index
10
+ assert_response :success
11
+ assert_not_nil assigns(:banners)
12
+ end
13
+
14
+ test "should get new" do
15
+ get :new
16
+ assert_response :success
17
+ end
18
+
19
+ test "should create banner" do
20
+ assert_difference('Banner.count') do
21
+ post :create, banner: { ad_unit_height: @banner.ad_unit_height, ad_unit_id: @banner.ad_unit_id, ad_unit_width: @banner.ad_unit_width, banner_type: @banner.banner_type, campaign_id: @banner.campaign_id, epom_id: @banner.epom_id, image_banner_link: @banner.image_banner_link, name: @banner.name, placement_type: @banner.placement_type, url: @banner.url, weight: @banner.weight }
22
+ end
23
+
24
+ assert_redirected_to banner_path(assigns(:banner))
25
+ end
26
+
27
+ test "should show banner" do
28
+ get :show, id: @banner
29
+ assert_response :success
30
+ end
31
+
32
+ test "should get edit" do
33
+ get :edit, id: @banner
34
+ assert_response :success
35
+ end
36
+
37
+ test "should update banner" do
38
+ patch :update, id: @banner, banner: { ad_unit_height: @banner.ad_unit_height, ad_unit_id: @banner.ad_unit_id, ad_unit_width: @banner.ad_unit_width, banner_type: @banner.banner_type, campaign_id: @banner.campaign_id, epom_id: @banner.epom_id, image_banner_link: @banner.image_banner_link, name: @banner.name, placement_type: @banner.placement_type, url: @banner.url, weight: @banner.weight }
39
+ assert_redirected_to banner_path(assigns(:banner))
40
+ end
41
+
42
+ test "should destroy banner" do
43
+ assert_difference('Banner.count', -1) do
44
+ delete :destroy, id: @banner
45
+ end
46
+
47
+ assert_redirected_to banners_path
48
+ end
49
+ end
@@ -0,0 +1,13 @@
1
+ # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
2
+
3
+ one:
4
+ placement_type: SITE_PLACEMENT
5
+ campaign_id: 1247
6
+ weight: 1
7
+ image_banner_link: http://www.kewelta.com/images/imago_kewelta.png
8
+ url: http://www.kewelta.com
9
+ name: kewelta
10
+ banner_type: EXTERNAL_FILE
11
+ ad_unit_id: 10
12
+ ad_unit_width: 164
13
+ ad_unit_height: 182
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class BannerTest < ActiveSupport::TestCase
4
+ # test "the truth" do
5
+ # assert true
6
+ # end
7
+ end
@@ -0,0 +1,42 @@
1
+ require 'test_helper'
2
+
3
+ class ActsAsBannerTest < ActiveSupport::TestCase
4
+ def epom_field(field)
5
+ Banner.epom_fields.key(field)
6
+ end
7
+
8
+ test 'fancy_method' do
9
+ assert_raises NoMethodError do Banner.fancy_method end
10
+ end
11
+
12
+ test 'save an banner' do
13
+ banner = banners(:one)
14
+
15
+ assert banner.save
16
+ assert_instance_of Fixnum, banner.send(epom_field('id'))
17
+ end
18
+
19
+ test 'delete an banner' do
20
+ banner = banners(:one)
21
+
22
+ assert banner.save
23
+ assert_instance_of Fixnum, banner.send(epom_field('id'))
24
+
25
+ epom_id = banner.send(epom_field('id'))
26
+ assert banner.destroy
27
+ end
28
+
29
+ test 'epom methods' do
30
+ banner = banners(:one)
31
+
32
+ assert banner.save
33
+ assert_instance_of Fixnum, banner.send(epom_field('id'))
34
+
35
+ response = Banner.get_banner({:bannerId => banner.send(epom_field('id'))}, {})
36
+ assert_equal banner.campaign_id, response['campaignId']
37
+ assert_equal banner.weight, response['weight']
38
+ assert_equal banner.url, response['url']
39
+ assert_equal banner.name, response['name']
40
+ assert_equal banner.image_banner_link, response['imageBannerLink']
41
+ end
42
+ end
@@ -0,0 +1,40 @@
1
+ require 'test_helper'
2
+
3
+ class ActsAsCampaignTest < ActiveSupport::TestCase
4
+ def epom_field(field)
5
+ Campaign.epom_fields.key(field)
6
+ end
7
+
8
+ test 'fancy_method' do
9
+ assert_raises NoMethodError do Campaign.fancy_method end
10
+ end
11
+
12
+ test 'save an campaign' do
13
+ campaign = campaigns(:one)
14
+
15
+ assert campaign.save
16
+ assert_instance_of Fixnum, campaign.send(epom_field('id'))
17
+ end
18
+
19
+ test 'delete an campaign' do
20
+ campaign = campaigns(:one)
21
+
22
+ assert campaign.save
23
+ assert_instance_of Fixnum, campaign.send(epom_field('id'))
24
+
25
+ epom_id = campaign.send(epom_field('id'))
26
+ assert campaign.destroy
27
+ end
28
+
29
+ test 'epom methods' do
30
+ campaign = campaigns(:one)
31
+
32
+ assert campaign.save
33
+ assert_instance_of Fixnum, campaign.send(epom_field('id'))
34
+
35
+ response = Campaign.get_campaign({:campaignId => campaign.send(epom_field('id'))}, {})
36
+ assert_equal campaign.send(epom_field('id')), response['id']
37
+ assert_equal campaign.send(epom_field('name')), response['name']
38
+
39
+ end
40
+ end
data/test/test_helper.rb CHANGED
@@ -22,6 +22,4 @@ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
22
22
  if ActiveSupport::TestCase.respond_to?(:fixture_path=)
23
23
  ActiveSupport::TestCase.fixture_path = File.expand_path("../dummy/test/fixtures", __FILE__)
24
24
  ActiveSupport::TestCase.fixtures :all
25
- end
26
-
27
- Epom::EpomElement.login(ENV['username'], ENV['password'])
25
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: epom_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.2'
4
+ version: '0.3'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adrian Chang
@@ -70,24 +70,34 @@ files:
70
70
  - test/dummy/Rakefile
71
71
  - test/dummy/app/assets/javascripts/advertisers.js
72
72
  - test/dummy/app/assets/javascripts/application.js
73
+ - test/dummy/app/assets/javascripts/banners.js
73
74
  - test/dummy/app/assets/javascripts/campaigns.js
74
75
  - test/dummy/app/assets/stylesheets/advertisers.css
75
76
  - test/dummy/app/assets/stylesheets/application.css
77
+ - test/dummy/app/assets/stylesheets/banners.css
76
78
  - test/dummy/app/assets/stylesheets/campaigns.css
77
79
  - test/dummy/app/assets/stylesheets/scaffold.css
78
80
  - test/dummy/app/controllers/advertisers_controller.rb
79
81
  - test/dummy/app/controllers/application_controller.rb
82
+ - test/dummy/app/controllers/banners_controller.rb
80
83
  - test/dummy/app/controllers/campaigns_controller.rb
81
84
  - test/dummy/app/helpers/advertisers_helper.rb
82
85
  - test/dummy/app/helpers/application_helper.rb
86
+ - test/dummy/app/helpers/banners_helper.rb
83
87
  - test/dummy/app/helpers/campaigns_helper.rb
84
88
  - test/dummy/app/models/advertiser.rb
89
+ - test/dummy/app/models/banner.rb
85
90
  - test/dummy/app/models/campaign.rb
86
91
  - test/dummy/app/views/advertisers/_form.html.erb
87
92
  - test/dummy/app/views/advertisers/edit.html.erb
88
93
  - test/dummy/app/views/advertisers/index.html.erb
89
94
  - test/dummy/app/views/advertisers/new.html.erb
90
95
  - test/dummy/app/views/advertisers/show.html.erb
96
+ - test/dummy/app/views/banners/_form.html.erb
97
+ - test/dummy/app/views/banners/edit.html.erb
98
+ - test/dummy/app/views/banners/index.html.erb
99
+ - test/dummy/app/views/banners/new.html.erb
100
+ - test/dummy/app/views/banners/show.html.erb
91
101
  - test/dummy/app/views/campaigns/_form.html.erb
92
102
  - test/dummy/app/views/campaigns/edit.html.erb
93
103
  - test/dummy/app/views/campaigns/index.html.erb
@@ -120,18 +130,25 @@ files:
120
130
  - test/dummy/db/migrate/20150603151041_create_advertisers.rb
121
131
  - test/dummy/db/migrate/20150604125603_add_epom_id_to_advertiser.rb
122
132
  - test/dummy/db/migrate/20150608194916_create_campaigns.rb
133
+ - test/dummy/db/migrate/20150608195747_add_epom_id_to_campaigns.rb
134
+ - test/dummy/db/migrate/20150609175407_create_banners.rb
123
135
  - test/dummy/db/schema.rb
124
136
  - test/dummy/public/404.html
125
137
  - test/dummy/public/422.html
126
138
  - test/dummy/public/500.html
127
139
  - test/dummy/public/favicon.ico
128
140
  - test/dummy/test/controllers/advertisers_controller_test.rb
141
+ - test/dummy/test/controllers/banners_controller_test.rb
129
142
  - test/dummy/test/controllers/campaigns_controller_test.rb
130
143
  - test/dummy/test/fixtures/advertisers.yml
144
+ - test/dummy/test/fixtures/banners.yml
131
145
  - test/dummy/test/fixtures/campaigns.yml
132
146
  - test/dummy/test/models/advertiser_test.rb
147
+ - test/dummy/test/models/banner_test.rb
133
148
  - test/dummy/test/models/campaign_test.rb
134
149
  - test/epom_rails/acts_as_advertiser_test.rb
150
+ - test/epom_rails/acts_as_banner_test.rb
151
+ - test/epom_rails/acts_as_campaign_test.rb
135
152
  - test/epom_rails_test.rb
136
153
  - test/test_helper.rb
137
154
  homepage: https://github.com/kewelta/epom_rails
@@ -161,21 +178,28 @@ summary: EpomRails gem.
161
178
  test_files:
162
179
  - test/test_helper.rb
163
180
  - test/epom_rails_test.rb
181
+ - test/epom_rails/acts_as_campaign_test.rb
182
+ - test/epom_rails/acts_as_banner_test.rb
164
183
  - test/epom_rails/acts_as_advertiser_test.rb
165
184
  - test/dummy/config.ru
166
185
  - test/dummy/Rakefile
167
186
  - test/dummy/README.rdoc
168
187
  - test/dummy/test/models/campaign_test.rb
188
+ - test/dummy/test/models/banner_test.rb
169
189
  - test/dummy/test/models/advertiser_test.rb
170
190
  - test/dummy/test/fixtures/campaigns.yml
191
+ - test/dummy/test/fixtures/banners.yml
171
192
  - test/dummy/test/fixtures/advertisers.yml
172
193
  - test/dummy/test/controllers/campaigns_controller_test.rb
194
+ - test/dummy/test/controllers/banners_controller_test.rb
173
195
  - test/dummy/test/controllers/advertisers_controller_test.rb
174
196
  - test/dummy/public/favicon.ico
175
197
  - test/dummy/public/500.html
176
198
  - test/dummy/public/422.html
177
199
  - test/dummy/public/404.html
178
200
  - test/dummy/db/schema.rb
201
+ - test/dummy/db/migrate/20150609175407_create_banners.rb
202
+ - test/dummy/db/migrate/20150608195747_add_epom_id_to_campaigns.rb
179
203
  - test/dummy/db/migrate/20150608194916_create_campaigns.rb
180
204
  - test/dummy/db/migrate/20150604125603_add_epom_id_to_advertiser.rb
181
205
  - test/dummy/db/migrate/20150603151041_create_advertisers.rb
@@ -207,23 +231,33 @@ test_files:
207
231
  - test/dummy/app/views/campaigns/index.html.erb
208
232
  - test/dummy/app/views/campaigns/edit.html.erb
209
233
  - test/dummy/app/views/campaigns/_form.html.erb
234
+ - test/dummy/app/views/banners/show.html.erb
235
+ - test/dummy/app/views/banners/new.html.erb
236
+ - test/dummy/app/views/banners/index.html.erb
237
+ - test/dummy/app/views/banners/edit.html.erb
238
+ - test/dummy/app/views/banners/_form.html.erb
210
239
  - test/dummy/app/views/advertisers/show.html.erb
211
240
  - test/dummy/app/views/advertisers/new.html.erb
212
241
  - test/dummy/app/views/advertisers/index.html.erb
213
242
  - test/dummy/app/views/advertisers/edit.html.erb
214
243
  - test/dummy/app/views/advertisers/_form.html.erb
215
244
  - test/dummy/app/models/campaign.rb
245
+ - test/dummy/app/models/banner.rb
216
246
  - test/dummy/app/models/advertiser.rb
217
247
  - test/dummy/app/helpers/campaigns_helper.rb
248
+ - test/dummy/app/helpers/banners_helper.rb
218
249
  - test/dummy/app/helpers/application_helper.rb
219
250
  - test/dummy/app/helpers/advertisers_helper.rb
220
251
  - test/dummy/app/controllers/campaigns_controller.rb
252
+ - test/dummy/app/controllers/banners_controller.rb
221
253
  - test/dummy/app/controllers/application_controller.rb
222
254
  - test/dummy/app/controllers/advertisers_controller.rb
223
255
  - test/dummy/app/assets/stylesheets/scaffold.css
224
256
  - test/dummy/app/assets/stylesheets/campaigns.css
257
+ - test/dummy/app/assets/stylesheets/banners.css
225
258
  - test/dummy/app/assets/stylesheets/application.css
226
259
  - test/dummy/app/assets/stylesheets/advertisers.css
227
260
  - test/dummy/app/assets/javascripts/campaigns.js
261
+ - test/dummy/app/assets/javascripts/banners.js
228
262
  - test/dummy/app/assets/javascripts/application.js
229
263
  - test/dummy/app/assets/javascripts/advertisers.js