orbit-basic/app/models/ad_banner.rb

49 lines
1.4 KiB
Ruby
Raw Normal View History

2012-01-31 10:31:31 +00:00
class AdBanner
include Mongoid::Document
include Mongoid::Timestamps
include Mongoid::MultiParameterAttributes
field :title
2012-04-01 15:39:49 +00:00
field :transition_sec,type: Integer
2012-02-02 01:55:09 +00:00
field :ad_fx #TODO Design should explain
2012-04-01 15:39:49 +00:00
2012-01-31 10:31:31 +00:00
before_save :save_or_destroy
2012-04-01 15:39:49 +00:00
validates_uniqueness_of :title
validates :title , :length => { :minimum => 2 }
2012-04-01 15:39:49 +00:00
has_many :ad_images , dependent: :delete
2012-01-31 10:31:31 +00:00
2012-02-02 01:55:09 +00:00
FX_TYPES = ["blindX","blindY","blindZ","cover","curtainX","curtainY","fade","fadeZoom","growX","growY","scrollUp","scrollDown","scrollLeft","scrollRight","scrollHorz","scrollVert","shuffle","slideX","slideY","toss","turnUp","turnDown","turnLeft","turnRight","uncover","wipe","zoom"]
2012-04-17 07:21:43 +00:00
def preview_clone
preview_banner = self.clone
preview_banner.ad_images = self.ad_images
preview_banner
end
2012-04-01 15:39:49 +00:00
# def new_ad_images(*attrs)
# debugger
# a=1
# attrs[0].each do |attr| #Loop by JSs,Themes,Imgs
# unless attr[:file].nil?
# self.ad_images << AdImage.new(attr)
# end
# end
# end
# def existing_ad_images=(*attrs)
# attrs[0].each do |attr| #Loop by JSs,Themes,Imgs
# ad_image = self.ad_images.find attr[0]
# ad_image.update_attributes(attr[1])
# end
# end
2012-01-31 10:31:31 +00:00
def save_or_destroy
self.ad_images.each do |ad_image|
if ad_image.to_save?
ad_image.save
end
if ad_image.to_destroy?
ad_image.destroy
end
end
end
end