Class: RspecApiDocumentation::ApiDocumentation

Inherits:
Object
  • Object
show all
Defined in:
lib/rspec_api_documentation/api_documentation.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(configuration) ⇒ ApiDocumentation

Returns a new instance of ApiDocumentation.



9
10
11
12
# File 'lib/rspec_api_documentation/api_documentation.rb', line 9

def initialize(configuration)
  @configuration = configuration
  @index = Index.new
end

Instance Attribute Details

#configurationObject (readonly)

Returns the value of attribute configuration.



5
6
7
# File 'lib/rspec_api_documentation/api_documentation.rb', line 5

def configuration
  @configuration
end

#indexObject (readonly)

Returns the value of attribute index.



5
6
7
# File 'lib/rspec_api_documentation/api_documentation.rb', line 5

def index
  @index
end

Instance Method Details

#clear_docsObject



14
15
16
17
18
# File 'lib/rspec_api_documentation/api_documentation.rb', line 14

def clear_docs
  writers.each do |writer|
    writer.clear_docs(docs_dir)
  end
end

#document_example(rspec_example) ⇒ Object



20
21
22
23
24
25
# File 'lib/rspec_api_documentation/api_documentation.rb', line 20

def document_example(rspec_example)
  example = Example.new(rspec_example, configuration)
  if example.should_document?
    index.examples << example
  end
end

#writeObject



27
28
29
30
31
# File 'lib/rspec_api_documentation/api_documentation.rb', line 27

def write
  writers.each do |writer|
    writer.write(index, configuration)
  end
end

#writersObject



33
34
35
36
37
# File 'lib/rspec_api_documentation/api_documentation.rb', line 33

def writers
  [*configuration.format].map do |format|
    RspecApiDocumentation::Writers.const_get("#{format}_writer".classify)
  end
end