Sha256: 6596d094b34186ea8cfaf1de9fa8344bac8c6c2b05adbb281ccd20e28089b3cb

Contents?: true

Size: 1.02 KB

Versions: 6

Compression:

Stored size: 1.02 KB

Contents

# баннер в области №3, справа от главной публикации
module C80NewsTz
  class Banner03 < ActiveRecord::Base
    mount_uploader :image, Bimage03Uploader
    validates_with BannerValidator

    before_save :before_save_format_href

    # выдать рандомный активный баннер
    # если такового нету - вернётся null
    def self.random_active
      result = nil
      a = self.where(:is_active => true)
      if a.count > 0
        b = a.offset(rand(a.count)).first
        if b.image.present?
          result = b
        end
      end
      result
    end

    # выдать количество активных баннеров
    def self.count_active
      self.where(:is_active => true).count
    end

    private

    # каждая ссылка должна начинаться с http://
    def before_save_format_href
      str = 'http://'
      if self.href[0..6] != str
        self.href = "#{str}#{self.href}"
      end
    end

  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
c80_news_tz-0.1.1.26 app/models/c80_news_tz/banner03.rb
c80_news_tz-0.1.1.25 app/models/c80_news_tz/banner03.rb
c80_news_tz-0.1.1.24 app/models/c80_news_tz/banner03.rb
c80_news_tz-0.1.1.23 app/models/c80_news_tz/banner03.rb
c80_news_tz-0.1.1.22 app/models/c80_news_tz/banner03.rb
c80_news_tz-0.1.1.21 app/models/c80_news_tz/banner03.rb