Sha256: 1dc231f3bcaf5a6011e36d415ff226cb2c8e07c1b825e6c022c9ec8129ab33db

Contents?: true

Size: 1.19 KB

Versions: 2

Compression:

Stored size: 1.19 KB

Contents

# frozen_string_literal: true

require 'pathname'

begin
  require 'dox'

  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.unsafe_load(http_settings_file.read)

           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

2 entries across 2 versions & 1 rubygems

Version Path
rspeckled-2.1.1 lib/rspeckled/plugins/configuration/dox.rb
rspeckled-2.1.0 lib/rspeckled/plugins/configuration/dox.rb