33 lines
660 B
Ruby
33 lines
660 B
Ruby
class PetAttribute < StaticResource
|
|
def as_json(options={})
|
|
{
|
|
:id => self.id,
|
|
:name => self.name.capitalize
|
|
}
|
|
end
|
|
|
|
def self.find_by_name(name)
|
|
@objects_by_name[name.downcase]
|
|
end
|
|
|
|
private
|
|
|
|
def self.data_source
|
|
"#{to_s.downcase.pluralize}.txt"
|
|
end
|
|
|
|
def self.process_line(line)
|
|
name = line.chomp.downcase
|
|
@objects << @objects_by_name[name] = species = new
|
|
species.id = @objects.size
|
|
species.name = name
|
|
end
|
|
|
|
def self.fetch_objects!
|
|
@objects = []
|
|
@objects_by_name = {}
|
|
File.open(Rails.root.join('config', data_source)).each do |line|
|
|
process_line(line)
|
|
end
|
|
end
|
|
end
|