Sha256: 5268acf1a0ab3165a4ea53a77caa0ea20b6c6819cb01024c02a166817f05af9d

Contents?: true

Size: 550 Bytes

Versions: 1

Compression:

Stored size: 550 Bytes

Contents

require 'pp'
class GraphQL::Repl
  def initialize(schema)
    @schema = schema
  end

  def run
    puts "Starting a repl for schema (type 'quit' to exit)"
    while line = gets do
      if line == "quit\n"
        exit
      end
      execute_query(line)
    end
  end

  private

  def execute_query(query_string)
    begin
      query = GraphQL::Query.new(@schema, query_string)
      puts JSON.pretty_generate(query.execute)
    rescue StandardError => err
      puts "Couldn't parse: #{err}\n\n" # #{err.backtrace.join("\n")}"
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
graphql-0.1.0 lib/graph_ql/repl.rb