Извините за плохой заголовок, я не знаю, как назвать этот вопрос.
У меня есть простой класс, который в основном просто оборачивает массив и предоставляет для него несколько пользовательских методов доступа. По сути, все, что он хранит - это массив дублетов, каждый из которых содержит тип свойства и его идентификатор.
Моя идея заключается в том, что, поскольку это такое простое использование, я могу обойтись без простой сборки этого класса и его хранения в памяти, а не генерации модели и переноса издержек ActiveRecord (это может быть немного не уверен).
Я волнуюсь, что я слишком много думаю, и я должен просто положить это в БД и забыть об этом?
class PropertyType
extend Enumerable
TYPES = [
['Site', 'Site'],
['New Home', 'NewHome'],
['Terraced House', 'Terraced'],
['Detached House', 'Detached'],
['Bungalow', 'Bungalow'],
['Townhouse', 'Townhouse'],
['End of Terrace House', 'EoTHouse'],
['Semi-Detached House', 'Semi-D'],
['New Development', 'NewDev'],
['Apartment', 'Apartment'],
['Duplex', 'Duplex'],
['House For Sale', 'House']
].freeze
def self.each
TYPES.each{|type| yield(type[0], type[1]) }
end
def self.convert_to_name(uid_to_lookup)
return if uid_to_lookup.blank?
TYPES.each{|type| return type[0] if type[1] == uid_to_lookup }
end
def self.convert_to_uid(name_to_lookup)
return if name_to_lookup.blank?
TYPES.each{|type| return type[1] if type[0] == name_to_lookup }
end
def self.each_uid
TYPES.each{|type| yield(type[1]) }
end
def self.each_name
TYPES.each{|type| yield(type[0]) }
end
def self.uids
TYPES.collect{|type| type[1]}
end
def self.names
TYPES.collect{|type| type[0]}
end
end