Module: AdsHelper
- Defined in:
- app/helpers/ads_helper.rb
Instance Method Summary collapse
- #kit_ad(id, options = {}) ⇒ Object
- #kit_ad_buy_form(zones, options = {}) ⇒ Object
- #kit_ad_by_unit(unit_id, options = {}) ⇒ Object
- #kit_ad_by_zone(ids, options = {}) ⇒ Object
- #kit_pay_for_ad(id, options = {}) ⇒ Object
- #kit_render_ad_by_zone(ids, options = {}) ⇒ Object
- #zone_with_price(zone) ⇒ Object
Instance Method Details
#kit_ad(id, options = {}) ⇒ Object
71 72 73 74 75 76 77 78 79 80 81 |
# File 'app/helpers/ads_helper.rb', line 71 def kit_ad(id, = {}) begin ad = Ad.sys(_sid).where(:id=>id).includes(:ad_zones).first ad = Ad.ensure_ad(ad) ad.impress ad.render rescue Exception => e e. end end |
#kit_ad_buy_form(zones, options = {}) ⇒ Object
19 20 21 22 23 24 25 26 27 28 |
# File 'app/helpers/ads_helper.rb', line 19 def kit_ad_buy_form(zones, = {}) begin @ad = Ad.new @zones = AdZone.sys(_sid).where("ad_zones.id in (#{zones.join(',')})").all [:zones] = zones kit_render partial:"ad/buy", :locals=>{:options=>} rescue Exception => e e. + e.backtrace.join("<br/") end end |
#kit_ad_by_unit(unit_id, options = {}) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'app/helpers/ads_helper.rb', line 30 def kit_ad_by_unit(unit_id, = {}) return "[[ads may appear here]]" if params[:edit] begin possible_zones = [] highest_priority = nil AdZone.sys(_sid).where(:ad_unit_id=>unit_id).where("ad_zones.url_pattern is not null").order("ad_zones.priority desc").all.each do |zone| pattern = zone.url_pattern.gsub("/",'\/').gsub("*",".*") logger.debug "#{request.fullpath} =~ #{pattern}" next unless request.fullpath =~ /#{pattern}/ highest_priority = zone.priority unless highest_priority break if zone.priority < highest_priority possible_zones << zone.id end if possible_zones.length>0 return kit_ad_by_zone(possible_zones, ) else return nil end rescue Exception => e logger.error e. logger.error e.backtrace.join("\n") e. end end |
#kit_ad_by_zone(ids, options = {}) ⇒ Object
56 57 58 59 60 61 62 63 64 65 |
# File 'app/helpers/ads_helper.rb', line 56 def kit_ad_by_zone(ids, = {}) begin matching_ads = AdZone.load_ads(_sid, ids, ) return nil unless matching_ads && matching_ads.size>0 Ad.random_ad(matching_ads) rescue Exception => e e. end end |
#kit_pay_for_ad(id, options = {}) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'app/helpers/ads_helper.rb', line 3 def kit_pay_for_ad(id, = {}) begin return "pay form will appear here" unless id @ad = Ad.find_sys_id(_sid, id) return "invalid user" unless @ad.user_id == current_user.id return "These ads have already been paid for" if @ad.paid_at @order = Order.new @order.email = @ad.user.email kit_render :partial=>"order/pay_for_ads", :locals=>{:options=>} rescue Exception => e e. end end |
#kit_render_ad_by_zone(ids, options = {}) ⇒ Object
67 68 69 |
# File 'app/helpers/ads_helper.rb', line 67 def kit_render_ad_by_zone(ids, = {}) kit_ad_by_zone(ids, ).impress.render end |
#zone_with_price(zone) ⇒ Object
83 84 85 |
# File 'app/helpers/ads_helper.rb', line 83 def zone_with_price(zone) "#{zone.name} @ #{pounds(zone.price_per_period)}/#{zone.period}" end |