Sha256: 83dea44b5654c5e597560633dfd546bfd0dbbcfa3e3f405329a847c506b75371

Contents?: true

Size: 1021 Bytes

Versions: 22

Compression:

Stored size: 1021 Bytes

Contents

module Orange
  class AdvertsResource < Orange::ModelResource
    use OrangeAdvert
    call_me :adverts
    def stack_init
      orange[:admin, true].add_link("Content", :resource => @my_orange_name, :text => 'Advertisements')
      orange[:radius].define_tag "adverts" do |tag|
     	  if tag.attr["tag"] && model_class.with_tag(tag.attr["tag"]).count >0
          m = model_class.with_tag(tag.attr["tag"]).first(:offset => rand(model_class.with_tag(tag.attr["tag"]).count)) #selects advert based on tag
	      elsif model_class.all.count > 0
      	  m = model_class.first(:offset => rand(model_class.all.count)) #selects a random advert
	      end
        unless m.nil?
          template = tag.attr["template"] || "adverts"
          orange[:adverts].advert(tag.locals.packet, {:model => m, :template => template})
        else
          ""
        end
      end
    end
    
    def advert(packet, opts = {})
      template = opts[:template].to_sym || :adverts
      do_view(packet, template, opts)
    end
  end
end

Version data entries

22 entries across 22 versions & 2 rubygems

Version Path
orange-more-0.5.8 lib/orange-more/adverts/resources/adverts_resource.rb
orange-more-0.5.7 lib/orange-more/adverts/resources/adverts_resource.rb
orange-0.5.5 lib/orange-more/adverts/resources/adverts_resource.rb
orange-0.5.4 lib/orange-more/adverts/resources/adverts_resource.rb
orange-0.5.3 lib/orange-more/adverts/resources/adverts_resource.rb
orange-0.5.2 lib/orange-more/adverts/resources/adverts_resource.rb
orange-0.5.1 lib/orange-more/adverts/resources/adverts_resource.rb
orange-0.4.0 lib/orange-more/adverts/resources/adverts_resource.rb
orange-0.3.9 lib/orange-more/adverts/resources/adverts_resource.rb
orange-0.3.8 lib/orange-more/adverts/resources/adverts_resource.rb
orange-0.3.7 lib/orange-more/adverts/resources/adverts_resource.rb
orange-0.3.6 lib/orange-more/adverts/resources/adverts_resource.rb
orange-0.3.5 lib/orange-more/adverts/resources/adverts_resource.rb
orange-0.3.4 lib/orange-more/adverts/resources/adverts_resource.rb
orange-0.3.3 lib/orange-more/adverts/resources/adverts_resource.rb
orange-0.3.2 lib/orange-more/adverts/resources/adverts_resource.rb
orange-0.3.1 lib/orange-more/adverts/resources/adverts_resource.rb
orange-0.3.0 lib/orange-more/adverts/resources/adverts_resource.rb
orange-0.2.11 lib/orange-more/adverts/resources/adverts_resource.rb
orange-0.2.9 lib/orange-more/adverts/resources/adverts_resource.rb