class GraphQL::FancyLoader::TypeGenerator
Public Class Methods
new(loader, name: loader.model.name)
click to toggle source
# File lib/graphql/fancy_loader/type_generator.rb, line 6 def initialize(loader, name: loader.model.name) @loader = loader @name = name end
Public Instance Methods
sorts_enum()
click to toggle source
# File lib/graphql/fancy_loader/type_generator.rb, line 11 def sorts_enum @sorts_enum ||= begin sorts = @loader.sorts name = "#{@name}SortEnum" Class.new(GraphQL::Schema::Enum) do graphql_name name sorts.each_key do |sort_name| value(sort_name.to_s.underscore.upcase, value: sort_name) end end end end
sorts_list()
click to toggle source
# File lib/graphql/fancy_loader/type_generator.rb, line 37 def sorts_list @sorts_list ||= GraphQL::Schema::List.new(sorts_option) end
sorts_option()
click to toggle source
# File lib/graphql/fancy_loader/type_generator.rb, line 25 def sorts_option @sorts_option ||= begin enum = sorts_enum name = "#{@name}SortOption" Class.new(GraphQL::Schema::InputObject) do graphql_name name argument :on, enum, required: true argument :direction, GraphQL::SortDirection, required: true end end end