Sha256: a193bc72f0363c96e93012a9bb4a34be53ef412a35add82000d7ff6d3fd21aff
Contents?: true
Size: 1.58 KB
Versions: 2
Compression:
Stored size: 1.58 KB
Contents
# frozen_string_literal: true ############################################################################## # Documentation ############################################################################## namespace :documentation do namespace :api do desc 'Generate API documentation markdown' task :blueprint do require 'rspec/core/rake_task' RSpec::Core::RakeTask.new(:api_docs) do |t| t.pattern = 'spec/controllers/**/v1/**/*_spec.rb' t.rspec_opts = %w{ --format="Dox::Formatter" --out="./docs/api/index.apib" --order="defined" --tag="dox" } .join(' ') end ::Rake::Task['api_docs'].invoke end task json: :blueprint do `apib2swagger --input='./docs/api/index.apib' --output='./docs/api/index.json'` end task yaml: :blueprint do command = <<~HEREDOC.tr("\n", ' ') apib2swagger --yaml --input='./docs/api/index.apib' --output='./docs/api/index.yaml' HEREDOC `#{command}` end task html: :json do `redoc-cli bundle --output='./docs/api/index.html' './docs/api/index.json'` end task preview: :html do `open './docs/api/index.html'` end task publish: :blueprint do command = <<~HEREDOC.tr("\n", ' ') apiary publish --path='./docs/api/apispec.apib' --api-name='#{::Rails.application.name}' HEREDOC `#{command}` end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rspeckled-2.1.1 | lib/rspeckled/tasks/documentation.rake |
rspeckled-2.1.0 | lib/rspeckled/tasks/documentation.rake |