lib/metrojobb/category.rb in metrojobb-0.3.0 vs lib/metrojobb/category.rb in metrojobb-0.4.0
- old
+ new
@@ -11,31 +11,39 @@
ID_NAME_MAP = NAME_ID_MAP.invert.freeze
validate :validate_known_category
+ def self.names
+ NAME_ID_MAP.keys
+ end
+
+ def self.ids
+ NAME_ID_MAP.values
+ end
+
def self.name_id_map
NAME_ID_MAP
end
def self.id_name_map
- ID_NAME_MAP
+ NAME_ID_MAP.invert
end
def to_xml(builder: Builder::XmlMarkup.new(indent: DEFAULT_INDENT))
builder.category do |node|
node.id(category_id.to_s)
end
end
def category_id
- NAME_ID_MAP[name.presence || id.presence] ||
+ self.class.name_id_map[name.presence || id.presence] ||
id.presence ||
name.presence
end
def validate_known_category
- return if ID_NAME_MAP[category_id]
+ return if self.class.id_name_map[category_id]
errors.add(:category_id, :inclusion)
end
end
end