Tuesday, 24 October 2017

quick graphql implementation for grape gem Raw

module Grape
module Formatter
module Json
class << self
def call(object, _env)
only = _env[Grape::Env::RACK_REQUEST_QUERY_HASH]["__only__"]
if object.respond_to?(:to_json)
return only.present? ? object.to_json(only: only) : object.to_json
end
MultiJson.dump(object)
end
end
end
end
end
# a = [:id, jobs: [:id, country: :id]].to_query('__only__')
# => "__only__%5B%5D=id&__only__%5B%5D%5Bjobs%5D%5B%5D=id&__only__%5B%5D%5Bjobs%5D%5B%5D%5Bcountry%5D=id"
# http://localhost:9292/bundles/68?__only__%5B%5D=id&__only__%5B%5D%5Bjobs%5D%5B%5D=id&__only__%5B%5D%5Bjobs%5D%5B%5D%5Bcountry%5D=id
view raw json.rb hosted with ❤ by GitHub

No comments:

Post a Comment