Class: GrapeDoc::ApiDocumentation

Inherits:
Array
  • Object
show all
Defined in:
lib/grape/doc/doc_class.rb

Instance Method Summary collapse

Instance Method Details

#add(type, *args) ⇒ Object



10
11
12
# File 'lib/grape/doc/doc_class.rb', line 10

def add(type,*args)
  self.push(create(type,*args))
end

#add_toc(*args) ⇒ Object



14
15
16
17
18
19
20
21
22
# File 'lib/grape/doc/doc_class.rb', line 14

def add_toc(*args)
  @toc_added ||= ->{

    args.map!{|e| Helpers.constantize("GrapeDoc::ApiDocParts::#{Helpers.camelize(e)}") }
    self.insert(1,ApiDocParts::TOC.new(*self.select{|e| args.any?{|klass| e.class == klass }}))
    true

  }.call
end

#build(type, *args) ⇒ Object Also known as: create

Raises:

  • (ArgumentError)


5
6
7
8
# File 'lib/grape/doc/doc_class.rb', line 5

def build(type,*args)
  raise(ArgumentError,'invalid type') unless [String,Symbol].any?{ |klass| type.class <= klass }
  return Helpers.constantize("GrapeDoc::ApiDocParts::#{Helpers.camelize(type)}").new(*args)
end

#to_textileObject Also known as: to_s



24
25
26
27
# File 'lib/grape/doc/doc_class.rb', line 24

def to_textile
  require 'RedCloth'
  RedCloth.new(self.map{|e| e.respond_to?(:to_textile) ? e.to_textile : e.to_s }.join("\n\n"))
end