Sha256: e290b31ace0f79ac82d7ba71c432b0cfe536fd9d103847ce08627098b0f0c0ac

Contents?: true

Size: 1.07 KB

Versions: 2

Compression:

Stored size: 1.07 KB

Contents

# frozen_string_literal: true
require 'bundler/gem_tasks'
require 'rake/testtask'

require 'rubocop/rake_task'

RuboCop::RakeTask.new(:rubocop)

Rake::TestTask.new(:test) do |t|
  t.libs << 'test'
  t.libs << 'lib'
  t.warning = false
  t.test_files = FileList['test/**/*_test.rb']
end

task default: :test

desc 'Generate the documentation'
task :generate_sample do
  require 'pry'
  require 'json-schema-docs'

  options = {}
  options[:delete_output] = true
  options[:filename] = File.join(File.dirname(__FILE__), 'test', 'json-schema-docs', 'fixtures', 'heroku.json')

  JsonSchemaDocs.build(options)
end

desc 'Generate the documentation and run a web server'
task sample: [:generate_sample] do
  require 'webrick'

  puts 'Navigate to http://localhost:3000 to see the sample docs'

  mime_types = WEBrick::HTTPUtils::DefaultMimeTypes
  mime_types.store 'md', 'text/plain'

  options = {
    Port: 3000,
    MimeTypes: mime_types
  }
  server = WEBrick::HTTPServer.new options
  server.mount '/', WEBrick::HTTPServlet::FileHandler, 'output'
  trap('INT') { server.stop }
  server.start
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
json-schema-docs-0.1.1 Rakefile
json-schema-docs-0.1.0 Rakefile