Sha256: 485688ad70bf1fd2c5279d6c9bed22489b1a6051678e3e04ebf4f6b3881c76ad
Contents?: true
Size: 1.29 KB
Versions: 15
Compression:
Stored size: 1.29 KB
Contents
module Gluttonberg class AssetCategory < ActiveRecord::Base self.table_name = "gb_asset_categories" has_many :asset_types , :class_name => "AssetType" has_many :assets, :through => :asset_types validates_uniqueness_of :name validates_presence_of :name attr_accessible :name , :unknown def self.method_missing(methId, *args) method_info = methId.id2name.split('_') if method_info.length == 2 then if method_info[1] == 'category' then cat_name = method_info[0] if cat_name then return find(:first , :conditions => "name = '#{cat_name}'") end end end end def self.build_defaults # Ensure the default categories exist in the database. ensure_exists('audio', false) ensure_exists('image', false) ensure_exists('video', false) ensure_exists('document', false) ensure_exists(Library::UNCATEGORISED_CATEGORY, true) end private def self.ensure_exists(name, unknown) cat = find(:first , :conditions => "name = '#{name}'") if cat then cat.unknown = unknown cat.save else cat = create(:name => name, :unknown => unknown) end end end end
Version data entries
15 entries across 15 versions & 1 rubygems