Sha256: 221e76cd9b0f611a00690a3ecc0dd14f0c2b280fde1397493a7396b36599faa9

Contents?: true

Size: 735 Bytes

Versions: 4

Compression:

Stored size: 735 Bytes

Contents

class Category < ActiveRecord::Base
  validates_presence_of :name
  validates_uniqueness_of :name
  
  def validate
    unless %w(Income Expense Move).include?(self.kind)
      errors.add("kind", "#{self.kind.inspect} must be either of Income, Expense, Move")
    end
  end

  # provides move_higher, move_lower, etc.
  # categories are indexed in those of the same kind
  acts_as_list :scope => 'kind == \'#{kind}\''

  def self.hashed
    {
      :income =>
      self.all(:conditions => {:kind => "Income"},  :order => "position"),
      :expense =>
      self.all(:conditions => {:kind => "Expense"}, :order => "position"),
      :move =>
      self.all(:conditions => {:kind => "Move"},    :order => "position") 
    }
  end

end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
yhara-moneyrail-0.0.2 app/models/category.rb
moneyrail-0.1.1 app/models/category.rb
moneyrail-0.1.0 app/models/category.rb
moneyrail-0.0.2 app/models/category.rb