Sha256: a3e06376d2f2b4c02b462cb4915b52d3097ede0bad1a48e0eab5ca11b971fe07

Contents?: true

Size: 529 Bytes

Versions: 4

Compression:

Stored size: 529 Bytes

Contents

# A single conference category.
# origin: M
class Category < ActiveRecord::Base

  does 'category/ancestry'
  does 'sortable', :by => :name
  does 'indestructible'

  validates_presence_of :name
  validates_uniqueness_of :name

  named_scope :by_name, :order => :name

  def conferences
    category_ids = (descendants.collect(&:id) + [id]).uniq
    Conference.in_categories(category_ids)
  end

  def available_parents
    (Category.all - [self]).sort.collect do |category|
      [category.name, category.id]
    end
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
serum-rails-0.2.1 spec/test_apps/rails-2-3/app/models/category.rb
serum-rails-0.2.0 spec/test_apps/rails-2-3/app/models/category.rb
serum-rails-0.1.1 spec/test_app/app/models/category.rb
serum-rails-0.1.0 spec/test_app/app/models/category.rb