software_categories.rb 936 Bytes
class SoftwareCategories < ActiveRecord::Base
  attr_accessible :administration , :agriculture ,  :business_and_services , :communication ,
                  :culture , :national_defense , :economy_and_finances , :education ,
                  :energy , :sports , :habitation , :industry , :environment ,
                  :research_and_development , :social_security , :social_protection ,
                  :international_relations , :sanitation , :health ,
                  :security_public_order , :work , :transportation , :urbanism

  belongs_to :software_info

  validate :verify_blank_fields

  def verify_blank_fields
    ignore_list = ["id", "software_info_id"]

    fields =  self.attribute_names - ignore_list

    one_is_filled = false
    fields.each do |field|
      one_is_filled = true if self[field] == true
    end

    self.errors.add(:base, _("At last one category must be checked")) unless one_is_filled
  end
end