Module: ApipieDSL::Utils

Included in:
ApipieDSL
Defined in:
lib/apipie_dsl/utils.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#url_prefixObject

Returns the value of attribute url_prefix.



4
5
6
# File 'lib/apipie_dsl/utils.rb', line 4

def url_prefix
  @url_prefix
end

Instance Method Details

#full_url(path) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
# File 'lib/apipie_dsl/utils.rb', line 33

def full_url(path)
  unless @url_prefix
    @url_prefix = request_script_name.to_s
    @url_prefix << ApipieDSL.configuration.doc_base_url
  end
  path = path.sub(%r{^/}, '')
  ret = "#{@url_prefix}/#{path}"
  ret.insert(0, '/') unless ret =~ %r{\A[./]}
  ret.sub!(%r{/*\Z}, '')
  ret
end

#include_javascriptsObject



45
46
47
48
49
50
51
52
# File 'lib/apipie_dsl/utils.rb', line 45

def include_javascripts
  %w[bundled/jquery.js
     bundled/bootstrap-collapse.js
     bundled/prettify.js
     apipie_dsl.js ].map do |file|
    "<script type='text/javascript' src='#{ApipieDSL.full_url("javascripts/#{file}")}'></script>"
  end.join("\n").html_safe
end

#include_stylesheetsObject



54
55
56
57
58
59
60
# File 'lib/apipie_dsl/utils.rb', line 54

def include_stylesheets
  %w[bundled/bootstrap.min.css
     bundled/prettify.css
     bundled/bootstrap-responsive.min.css ].map do |file|
    "<link type='text/css' rel='stylesheet' href='#{ApipieDSL.full_url("stylesheets/#{file}")}'/>"
  end.join("\n").html_safe
end

#markup_to_html(text) ⇒ Object



15
16
17
18
19
20
21
22
23
# File 'lib/apipie_dsl/utils.rb', line 15

def markup_to_html(text)
  return '' if text.nil?

  if ApipieDSL.configuration.markup.respond_to?(:to_html)
    ApipieDSL.configuration.markup.to_html(text)
  else
    text
  end
end

#request_script_nameObject



25
26
27
# File 'lib/apipie_dsl/utils.rb', line 25

def request_script_name
  Thread.current[:apipie_dsl_req_script_name] || ''
end

#request_script_name=(script_name) ⇒ Object



29
30
31
# File 'lib/apipie_dsl/utils.rb', line 29

def request_script_name=(script_name)
  Thread.current[:apipie_dsl_req_script_name] = script_name
end

#superclass_for(klass_or_module) ⇒ Object



6
7
8
9
10
11
12
13
# File 'lib/apipie_dsl/utils.rb', line 6

def superclass_for(klass_or_module)
  return klass_or_module.superclass if klass_or_module.respond_to?(:superclass)

  parent_name = to_s.split('::')[-2]
  return nil if parent_name.nil?

  Module.const_get(parent_name)
end