Sha256: 79bf007a3e277b35e7ab839c9bf5f7718e2e9beb292e7b92437fffc2f352e5c7

Contents?: true

Size: 1.1 KB

Versions: 295

Compression:

Stored size: 1.1 KB

Contents

class Caboose::MediaCategory < ActiveRecord::Base

  self.table_name = "media_categories"  
  belongs_to :parent, :class_name => 'Caboose::MediaCategory'
  has_many :children, :class_name => 'Caboose::MediaCategory', :foreign_key => 'parent_id', :order => 'name'
  has_many :media_images, :class_name => 'Caboose::MediaImage', :order => 'name'
  has_many :media_files, :class_name => 'Caboose::MediaFile', :order => 'name'
  attr_accessible :id, :site_id, :parent_id, :name
  
  def self.top_image_category(site_id)
    return self.where("parent_id is null and site_id = ? and name = ?", site_id, 'Images').first
  end
  
  def self.top_file_category(site_id)
    return self.where("parent_id is null and site_id = ? and name = ?", site_id, 'Files').first
  end
  
  def api_hash
    {
      :id => self.id,
      :parent_id => self.parent_id,
      :site_id => self.site_id,      
      :name => self.name,
      :children => self.children.collect { |child| child.api_hash },
      :images => self.media_images.collect { |img| img.api_hash },
      :files => self.media_files.collect { |file| file.api_hash }
    }
  end

end

Version data entries

295 entries across 295 versions & 1 rubygems

Version Path
caboose-cms-0.5.221 app/models/caboose/media_category.rb
caboose-cms-0.5.220 app/models/caboose/media_category.rb
caboose-cms-0.5.219 app/models/caboose/media_category.rb
caboose-cms-0.5.218 app/models/caboose/media_category.rb
caboose-cms-0.5.217 app/models/caboose/media_category.rb
caboose-cms-0.5.216 app/models/caboose/media_category.rb
caboose-cms-0.5.215 app/models/caboose/media_category.rb
caboose-cms-0.5.214 app/models/caboose/media_category.rb
caboose-cms-0.5.213 app/models/caboose/media_category.rb
caboose-cms-0.5.212 app/models/caboose/media_category.rb
caboose-cms-0.5.211 app/models/caboose/media_category.rb
caboose-cms-0.5.210 app/models/caboose/media_category.rb
caboose-cms-0.5.209 app/models/caboose/media_category.rb
caboose-cms-0.5.208 app/models/caboose/media_category.rb
caboose-cms-0.5.207 app/models/caboose/media_category.rb
caboose-cms-0.5.206 app/models/caboose/media_category.rb
caboose-cms-0.5.205 app/models/caboose/media_category.rb
caboose-cms-0.5.204 app/models/caboose/media_category.rb
caboose-cms-0.5.203 app/models/caboose/media_category.rb
caboose-cms-0.5.202 app/models/caboose/media_category.rb