class Metrojobb::Region

Constants

NAME_ID_MAP

Attributes

id[RW]
name[RW]

Public Class Methods

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

Public Instance Methods

region_id() click to toggle source
# File lib/metrojobb/region.rb, line 35
def region_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/region.rb, line 29
def to_xml(builder: Builder::XmlMarkup.new(indent: DEFAULT_INDENT))
  builder.region do |node|
    node.id(region_id.to_s)
  end
end
validate_known_region() click to toggle source
# File lib/metrojobb/region.rb, line 41
def validate_known_region
  return if self.class.id_name_map[region_id]

  errors.add(:region_id, :inclusion)
end