From 073ce38a8d190e08f9ac08885a447541a6476cb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alberto=20Miedes=20Garc=C3=A9s?= Date: Fri, 27 Jan 2017 12:39:44 +0100 Subject: [PATCH] Improved API docs autogeneration --- app/models/concerns/graphqlable.rb | 8 ++++---- config/initializers/acts_as_taggable_on.rb | 12 ++++++++++++ lib/graph_ql/api_types_creator.rb | 2 +- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/app/models/concerns/graphqlable.rb b/app/models/concerns/graphqlable.rb index 0e8fdb2de..b62d57808 100644 --- a/app/models/concerns/graphqlable.rb +++ b/app/models/concerns/graphqlable.rb @@ -7,14 +7,14 @@ module Graphqlable self.name.gsub('::', '_').underscore.to_sym end - def graphql_pluralized_field_name - self.name.gsub('::', '_').underscore.pluralize.to_sym - end - def graphql_field_description "Find one #{self.model_name.human} by ID" end + def graphql_pluralized_field_name + self.name.gsub('::', '_').underscore.pluralize.to_sym + end + def graphql_pluralized_field_description "Find all #{self.model_name.human.pluralize}" end diff --git a/config/initializers/acts_as_taggable_on.rb b/config/initializers/acts_as_taggable_on.rb index 719f1271f..68dad364e 100644 --- a/config/initializers/acts_as_taggable_on.rb +++ b/config/initializers/acts_as_taggable_on.rb @@ -61,6 +61,18 @@ module ActsAsTaggableOn |) end + def self.graphql_field_name + :tag + end + + def self.graphql_pluralized_field_name + :tags + end + + def self.graphql_type_name + 'Tag' + end + private def custom_counter_field_name_for(taggable_type) "#{taggable_type.underscore.pluralize}_count" diff --git a/lib/graph_ql/api_types_creator.rb b/lib/graph_ql/api_types_creator.rb index 2142a9b1e..ddad7ca04 100644 --- a/lib/graph_ql/api_types_creator.rb +++ b/lib/graph_ql/api_types_creator.rb @@ -46,7 +46,7 @@ module GraphQL fields.each do |field_name, field_type| case ApiTypesCreator.type_kind(field_type) when :scalar - field(field_name, SCALAR_TYPES[field_type]) + field(field_name, SCALAR_TYPES[field_type], model.human_attribute_name(field_name)) when :singular_association field(field_name, -> { api_types_creator.created_types[field_type] }) do resolve -> (object, arguments, context) do