class Spec < ActiveRecord::Base
  ALL_FIELDS = %w(first_name last_name occupation gender birthdate city state zip_code)
  STRING_FIELDS = %w(first_name last_name occupation city state)
  VALID_GENDERS = ["Mczyzna", "Kobieta"]
  START_YEAR = 1900
  VALID_DATES = DateTime.new(START_YEAR)..DateTime.now
  ZIP_CODE_LENGTH = 5

  HUMANIZED_ATTRIBUTES = {
    :first_name => "Imi",
    :last_name => "Nazwisko",
    :occupation => "Zawd",
    :gender => "Pe",
    :birthdate => "Data urodzenia",
    :city => "Miasto",
    :state => "Wojewdztwo",
    :zip_code => "Kod pocztowy",
    :spec => "specyfikacji"
    }
  
    def self.human_attribute_name(attr)
      HUMANIZED_ATTRIBUTES[attr.to_sym] || super
    end
  validates_length_of STRING_FIELDS,
                      :maximum => DB_STRING_MAX_LENGTH
  validates_inclusion_of :gender,
                         :in => VALID_GENDERS,
                         :allow_nil => true,
                         :message => "naley wybra mczyzna albo kobieta"
  validates_inclusion_of :birthdate,
                         :in => VALID_DATES,
                         :allow_nil => true,
                         :message => "jest nieprawidowa"
  validates_format_of :zip_code, 
                      :with => /(^$|^[0-9]{#{ZIP_CODE_LENGTH}}$)/,
                      :message => "musi by liczb piciocyfrow."
end

