class GraphdocRuby::RakeTask

Public Class Methods

new() click to toggle source

Set the parameters of this task by passing keyword arguments or assigning attributes inside the block

# File lib/graphdoc-ruby/rake_task.rb, line 9
def initialize
  dependencies = if defined?(::Rails)
    [:environment]
  else
    []
  end

  define_tasks(dependencies)
end

Private Instance Methods

define_tasks(dependencies) click to toggle source
# File lib/graphdoc-ruby/rake_task.rb, line 21
def define_tasks(dependencies)
  namespace :graphdoc do
    desc 'Dump GraphQL schema to endpoint'
    task dump_schema: dependencies do
      require 'graphdoc-ruby/graphql_json'
      raise(ArgumentError, 'GraphdocRuby.config.schema_name is required.') unless GraphdocRuby.config.schema_name

      puts "-- Write schema.json to #{GraphdocRuby.config.endpoint}"
      GraphdocRuby::GraphqlJson.write_schema_json
    end

    desc 'Generate html with graphdoc'
    task generate: dependencies do
      puts "-- Generate html with graphdoc from #{GraphdocRuby.config.endpoint}"
      GraphdocRuby::Application.graphdoc.generate_document!
      puts "-- Generated html to #{GraphdocRuby.config.output_directory}"
    end
  end
end