Module: Sinatra::APDM::Helpers
- Defined in:
- lib/apdm/sinatra.rb
Instance Method Summary collapse
- #ad_tech ⇒ Object
- #ad_tech_api_js ⇒ Object
- #ad_tech_for(channel) ⇒ Object
- #current_channel ⇒ Object
- #design_elements ⇒ Object
- #design_elements_css_path ⇒ Object
Instance Method Details
#ad_tech ⇒ Object
16 17 18 |
# File 'lib/apdm/sinatra.rb', line 16 def ad_tech ad_tech_for(::APDM::CHANNELS.random_production_channel) end |
#ad_tech_api_js ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/apdm/sinatra.rb', line 25 def ad_tech_api_js # This snippet is needed by the ad_tech scripts and should be included in the head tag of pages displaying ad_tech ads # Note: its an extract of code found in apdm JavaScript as per august 2012 and may be cause future breakage # It hurts but it works <<-js window.api = {"cookie": { "del": function (name,path,domain){var cookie=name+"="+((path)?";path="+path:"");cookie+=((domain)?";domain="+domain:"");cookie+=";expires=Thu, 01-Jan-1970 00:00:01 GMT";if(this.get(name)){document.cookie=cookie;}}, "get": function (name){var dc=document.cookie;if(dc===""){return false;}}, "isOn": function (){this.set("apiCookiesOnCheck","true",365);return(this.get("apiCookiesOnCheck")=="true");}, "set": function (name,value,expires,path,domain,secure){var fDate=new Date();var exDate=fDate.getTime();exDate+=1000*3600*24*expires;fDate.setTime(exDate);name+="="+escape(value)+((expires)?"; expires="+fDate.toGMTString():"");name+=((path)?"; path="+path:"");name+=((domain)?"; domain="+domain:"");name+=((secure)?"; secure":"");document.cookie=name;} }}; js end |
#ad_tech_for(channel) ⇒ Object
20 21 22 23 |
# File 'lib/apdm/sinatra.rb', line 20 def ad_tech_for(channel) @ad_tech_for ||= {} @ad_tech_for[channel.label] ||= ::APDM::AdTech.new(channel, :context_key => self.settings.ad_tech_context_prefix) end |
#current_channel ⇒ Object
7 8 9 10 |
# File 'lib/apdm/sinatra.rb', line 7 def current_channel host = request.env['HTTP_X_FORWARDED_HOST'] || request.host ::APDM::Channel.find_by_domain(host) || ::APDM::Channel.find_by_domain("avisnavn.no") end |
#design_elements ⇒ Object
12 13 14 |
# File 'lib/apdm/sinatra.rb', line 12 def design_elements @design_elements ||= ::APDM::DesignElements.new(current_channel.label, :api_key => self.settings.design_elements_api_key) end |
#design_elements_css_path ⇒ Object
39 40 41 |
# File 'lib/apdm/sinatra.rb', line 39 def design_elements_css_path "#{request.script_name}/apdm-design-elements.css" end |