vidpush/app/models/campaign.rb
2014-04-29 13:03:46 -04:00

33 lines
1006 B
Ruby

class Campaign < ActiveRecord::Base
has_many :videolistings, :dependent => :delete_all
accepts_nested_attributes_for :videolistings,:reject_if => :all_blank, :allow_destroy => true
validates :listingcode, presence: true, uniqueness: true
validates :advertisername, presence: true
validates :websiteurl, presence: true
validates :description, presence: true
validates :productsandservices, presence: true
after_save :send_to_better_video
validate :has_at_least_one_videolisting
after_initialize :set_defaults
def set_defaults
self.clientid = 720
end
def has_at_least_one_videolisting
errors.add(:base, 'Must add at least one Videolisting') if self.videolistings.blank?
end
def video_completion_percent
published = videolistings.where({published: true}).length
((published.to_f / videolistings.count.to_f) * 100).to_i
rescue
0
end
def send_to_better_video
if self.sent_changed? && self.sent? == true
#TODO Make API Calls
end
end
end