Sha256: a776b0be7f76ef4529aba4a9b1a31dfe8d2b980bfc98f7f4b067c1c12577545d

Contents?: true

Size: 1.59 KB

Versions: 3

Compression:

Stored size: 1.59 KB

Contents

# frozen_string_literal: true

##############################################################################
#                               Dox Plugin
##############################################################################

begin
  require 'dox'
  require 'pathname'

  RSpec.configure do |config|
    config.after(:each, :dox) do |example|
      example.metadata[:request]  = request
      example.metadata[:response] = response
    end
  end

  api_docs_folder = Pathname.pwd.join('docs', 'api')
  api_docs_header = api_docs_folder.join('header.md')

  api_docs_folder.mkpath

  api_docs_folder.glob('**/*.rb').each { |f| require f }

  titleized_application_name = Rails
                                 .application
                                 .class
                                 .name
                                 .split('::')[0]
                                 .titleize

  http_settings_file = Pathname.pwd.join('config', 'settings', 'http.yml')

  host = if http_settings_file.exist?
           http_settings = YAML.load(http_settings_file.read) # rubocop:disable Security/YAMLLoad

           http_settings['production']['http']['base_url']
         else
           'http://api.lvh.me:5000'
         end

  unless api_docs_header.exist?
    api_docs_header.write(<<~HEREDOC, :mode => 'w')
      FORMAT: 1A
      HOST:   #{host}

      # #{titleized_application_name}

    HEREDOC
  end

  Dox.configure do |config|
    config.header_file_path  = api_docs_header
    config.desc_folder_path  = api_docs_folder
    # config.headers_whitelist = ['Accept', 'X-Auth-Token']
  end
rescue LoadError
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rspeckled-0.0.54 lib/rspeckled/plugins/dox.rb
rspeckled-0.0.53 lib/rspeckled/plugins/dox.rb
rspeckled-0.0.52 lib/rspeckled/plugins/dox.rb