Используя собственные Github graphql-client
для Ruby, как можно создавать динамические запросы?
Например: Вот запрос, который находит язык репо.
module RepoLanguage
Query = Gitwerk::Application::Client.parse <<-'GRAPHQL'
query($owner: String!, $name: String!) {
repository(owner: $owner, name: $name) {
name
primaryLanguage {
name
}
}
}
GRAPHQL
end
Ноесли мне нужно найти три языка репозиториев, запрос будет выглядеть так:
{
twbs: repository(owner: "twbs", name: "bootstrap-sass") {
name
primaryLanguage {
name
}
}
nookies: repository(owner: "maticzav", name: "nookies") {
name
primaryLanguage {
name
}
}
}
Это единственный способ создать строку / запрос, подобный этому?
query = repos.map do |repo|
<<-GRAPHQL
#{repo[:$owner]}-#{repo[:$name]}: query {
repository($owner: #{repo[:$owner]}, name: #{repo[:$name]}) {
name
primaryLanguage {
name
}
}
}
GRAPHQL
end.join('')
end
Если это так. .. - Куда ты вообще положил этот звонок?
- А как его назвать?
- Есть ли лучший способ? - вызов для создания запроса должен принимать объект в качестве аргумента. Как лучше всего позвонить с контроллера?