Class: DocsApi::DocsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/docs_api/docs_controller.rb

Instance Method Summary collapse

Instance Method Details

#indexObject



5
6
7
8
9
10
11
# File 'app/controllers/docs_api/docs_controller.rb', line 5

def index
  @versions = []
  doc_dir = Rails.root.join('app', 'docs', '*')
  Dir.glob(doc_dir).each do |entry|
    @versions.push(entry.split('/').last) if File.directory? entry
  end
end

#showObject

Raises:

  • (ActiveRecord::RecordNotFound)


13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'app/controllers/docs_api/docs_controller.rb', line 13

def show
  docs = Dir.glob(Rails.root.join('app', 'docs', params[:id], '*.md'))
  raise ActiveRecord::RecordNotFound if docs.blank?

  url = request.protocol + request.host_with_port
  @api_text = "FORMAT: 1A\nHOST: #{url}\n# API: #{url}\n"
  intro_path = Rails.root.join('app', 'docs', params[:id], '_introduction.md')

  @api_text += if File.exists?(intro_path)
                 File.read(intro_path)
               else
                 'API doc'
               end
  @api_text += "\n\n"

  docs.sort_by { |d| d.split('/').last }.each do |doc|
    @api_text += File.read(doc) + "\n" unless doc =~ /introduction.md\z/i
  end
end