class Metrojobb::EmploymentType

Constants

NAME_ID_MAP

Attributes

id[RW]
name[RW]

Public Class Methods

id_name_map() click to toggle source
# File lib/metrojobb/employment_type.rb, line 25
def self.id_name_map
  NAME_ID_MAP.invert
end
ids() click to toggle source
# File lib/metrojobb/employment_type.rb, line 17
def self.ids
  NAME_ID_MAP.values
end
name_id_map() click to toggle source
# File lib/metrojobb/employment_type.rb, line 21
def self.name_id_map
  NAME_ID_MAP
end
names() click to toggle source
# File lib/metrojobb/employment_type.rb, line 13
def self.names
  NAME_ID_MAP.keys
end

Public Instance Methods

employment_type_id() click to toggle source
# File lib/metrojobb/employment_type.rb, line 35
def employment_type_id
  self.class.name_id_map[name.presence || id.presence] ||
    id.presence ||
    name.presence
end
to_xml(builder: Builder::XmlMarkup.new(indent: DEFAULT_INDENT)) click to toggle source
# File lib/metrojobb/employment_type.rb, line 29
def to_xml(builder: Builder::XmlMarkup.new(indent: DEFAULT_INDENT))
  builder.employmentType do |node|
    node.id(employment_type_id.to_s)
  end
end
validate_known_employment_type() click to toggle source
# File lib/metrojobb/employment_type.rb, line 41
def validate_known_employment_type
  return if self.class.id_name_map[employment_type_id]

  errors.add(:employment_type_id, :inclusion)
end