Sha256: 6869612764262712c88b8b62dc52ed3dbfa9a3ed1f42a6320499658a039b2f11

Contents?: true

Size: 660 Bytes

Versions: 6

Compression:

Stored size: 660 Bytes

Contents

require "dry-container"
require "dry-auto_inject"
require "kanji/graph/coerce_type"
require "graphql"

module Graph
  class Helpers
    extend Dry::Container::Mixin

    Import = Dry::AutoInject(Graph::Helpers)

    register :coerce_type, -> { Graph::CoerceType.new }

    register :explain do
      ->(schema) { schema.execute GraphQL::Introspection::INTROSPECTION_QUERY }
    end

    register :generate do
      lambda do |schema, destination|
        result = JSON.pretty_generate(explain(schema))
        unless File.exist?(destination) && File.read(destination) == result
          File.write(destination, result)
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
kanji-web-0.3.1 lib/kanji/graph/helpers.rb
kanji-web-0.3.0 lib/kanji/graph/helpers.rb
kanji-web-0.2.2 lib/kanji/graph/helpers.rb
kanji-web-0.2.1 lib/kanji/graph/helpers.rb
kanji-web-0.2.0 lib/kanji/graph/helpers.rb
kanji-web-0.1.0 lib/kanji/graph/helpers.rb