Class: AdvertSelector::BannersController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- AdvertSelector::BannersController
- Defined in:
- app/controllers/advert_selector/banners_controller.rb
Instance Method Summary collapse
-
#create ⇒ Object
POST /banners POST /banners.json.
-
#destroy ⇒ Object
DELETE /banners/1 DELETE /banners/1.json.
-
#edit ⇒ Object
GET /banners/1/edit.
-
#index ⇒ Object
GET /banners GET /banners.json.
-
#new ⇒ Object
GET /banners/new GET /banners/new.json.
-
#show ⇒ Object
GET /banners/1 GET /banners/1.json.
-
#update ⇒ Object
PUT /banners/1 PUT /banners/1.json.
- #update_running_view_count ⇒ Object
Methods inherited from ApplicationController
#admin_access_only, #set_locale, #set_time_zone
Instance Method Details
#create ⇒ Object
POST /banners POST /banners.json
60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'app/controllers/advert_selector/banners_controller.rb', line 60 def create @banner = Banner.new(params[:banner]) respond_to do |format| if @banner.save format.html { redirect_to @banner, :notice => 'Banner was successfully created.' } format.json { render :json => @banner, :status => :created, :location => @banner } else format.html { render :action => "new" } format.json { render :json => @banner.errors, :status => :unprocessable_entity } end end end |
#destroy ⇒ Object
DELETE /banners/1 DELETE /banners/1.json
111 112 113 114 115 116 117 118 119 |
# File 'app/controllers/advert_selector/banners_controller.rb', line 111 def destroy @banner = Banner.find(params[:id]) @banner.destroy respond_to do |format| format.html { redirect_to } format.json { head :no_content } end end |
#edit ⇒ Object
GET /banners/1/edit
54 55 56 |
# File 'app/controllers/advert_selector/banners_controller.rb', line 54 def edit @banner = Banner.find(params[:id]) end |
#index ⇒ Object
GET /banners GET /banners.json
7 8 9 10 11 12 13 14 |
# File 'app/controllers/advert_selector/banners_controller.rb', line 7 def index @banners = Banner.all respond_to do |format| format.html # index.html.erb format.json { render :json => @banners } end end |
#new ⇒ Object
GET /banners/new GET /banners/new.json
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'app/controllers/advert_selector/banners_controller.rb', line 31 def new if params[:duplicate_id] && = Banner.find_by_id(params[:duplicate_id]) @banner = .dup @banner.name += " (copy)" @banner.confirmed = false .helper_items.each do |hi| @banner.helper_items << hi.dup end else @banner = Banner.new @banner.start_time = Time.now.at_midnight @banner.end_time = 1.week.from_now.end_of_day end respond_to do |format| format.html # new.html.erb format.json { render :json => @banner } end end |
#show ⇒ Object
GET /banners/1 GET /banners/1.json
18 19 20 21 22 23 24 25 26 27 |
# File 'app/controllers/advert_selector/banners_controller.rb', line 18 def show redirect_to (params[:id]) #@banner = Banner.find(params[:id]) # #respond_to do |format| # format.html # show.html.erb # format.json { render :json => @banner } #end end |
#update ⇒ Object
PUT /banners/1 PUT /banners/1.json
76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'app/controllers/advert_selector/banners_controller.rb', line 76 def update @banner = Banner.find(params[:id]) respond_to do |format| if @banner.update_attributes(params[:banner]) format.html { redirect_to @banner, :notice => 'Banner was successfully updated.' } format.json { head :no_content } else format.html { render :action => "edit" } format.json { render :json => @banner.errors, :status => :unprocessable_entity } end end end |
#update_running_view_count ⇒ Object
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
# File 'app/controllers/advert_selector/banners_controller.rb', line 91 def update_running_view_count @banner = Banner.find(params[:id]) if !(@count = params['banner']["running_view_count"]).blank? @count = @count.to_i Banner.where(:id => @banner.id).update_all(:running_view_count => @count) 50.times do # We are trying to make sure that no other process will overwrite this value Rails.cache.write(@banner.cache_key, @count, :expires_in => 2.weeks) sleep(0.02) end Banner.where(:id => @banner.id).update_all(:running_view_count => @count) #@banner[:running_view_count] = @count #@banner.save end redirect_to @banner end |