ad_banner_pro/app/models/banner.rb

38 lines
1.2 KiB
Ruby
Raw Permalink Normal View History

2014-11-25 10:34:14 +00:00
class Banner
include Mongoid::Document
include Mongoid::Timestamps
include OrbitTag::Taggable
2014-12-18 12:00:46 +00:00
include OrbitCategory::Categorizable
2014-11-25 10:34:14 +00:00
field :ad_fx, type: String
field :height, type: Integer
2016-02-17 12:37:37 +00:00
field :speed, type: Integer, default: 500
2014-11-25 10:34:14 +00:00
field :title, type: String
2016-02-17 12:37:37 +00:00
field :timeout, type: Integer, default: 5
2014-11-25 10:34:14 +00:00
field :width, type: Integer
2016-02-17 12:37:37 +00:00
field :base_image, type: Integer, default: 1
2014-11-25 10:34:14 +00:00
has_many :ad_images , dependent: :delete
validates_uniqueness_of :title
validates :title, :length => { :minimum => 2 }
2016-02-17 12:37:37 +00:00
FX_TYPES = %w(fade scrollHorz scrollVert tileSlide tileBlind)
2014-11-25 10:34:14 +00:00
def size
"#{self.width} x #{self.height}"
end
def timeout_millisecond
self.timeout*1000 rescue 0
end
def preview_link
"<a data-w='#{self.width}' data-time='#{self.timeout_millisecond}' data-speed='#{self.speed}' data-name='#{self.title}' data-h='#{self.height}' data-fx='#{self.ad_fx}' class='btn btn-success open-modal' href='#'>Preview</a>".html_safe
end
def data_attribute_hash
2016-02-17 12:37:37 +00:00
{'width'=> self.width,'height'=> self.height,'ad_fx'=> self.ad_fx,'name'=>self.title,'timeout'=>self.timeout,'speed'=>self.speed, 'base_image' => self.base_image}.to_json
2014-11-25 10:34:14 +00:00
end
end