Я пытаюсь использовать Grape для создания API, используя только объекты Ruby. Я не хочу использовать базу данных/Rails/ActiveSupport/и т. д. — только Rack, Ruby и Grape.
Я определил класс для Directory
, с которым я хочу взаимодействовать через API. Таким образом, Directory#sort_by("last_name")
возвращает данные JSON со списком объектов People
в моем файле Directory
. У меня также есть метод Directory#create_person(attributes)
, который принимает строку и использует ее для добавления Person
объектов в Directory
. Каталог заполняется людьми при создании.
Я новичок в работе со Rack and Grape, поэтому не знаю, где/как создать свой объект Directory
и сделать его доступным через GET/POST в моем классе API Grape. Использование переменной класса внутри этого класса работает, т.е.:
module API
class DirectoryAPI < Grape::API
format 'json'
@@directory = Directory.new("1.txt", "2.txt", "3.txt")
get 'last_name' do
@@directory.sort_by("last_name")
end
end
end
но использование переменных класса просто кажется неправильным. Есть ли лучший/более чистый способ создать мой объект Directory
? Возможно, внутри моего файла config.ru
? Или я могу как-то сделать это через метод класса внутри Directory
?