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.



7
8
9
10
# File 'lib/rspec_api_documentation/api_documentation.rb', line 7

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

Instance Attribute Details

#configurationObject (readonly)

Returns the value of attribute configuration.



3
4
5
# File 'lib/rspec_api_documentation/api_documentation.rb', line 3

def configuration
  @configuration
end

#indexObject (readonly)

Returns the value of attribute index.



3
4
5
# File 'lib/rspec_api_documentation/api_documentation.rb', line 3

def index
  @index
end

Instance Method Details

#clear_docsObject



12
13
14
15
16
# File 'lib/rspec_api_documentation/api_documentation.rb', line 12

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

#document_example(rspec_example) ⇒ Object



18
19
20
21
22
23
# File 'lib/rspec_api_documentation/api_documentation.rb', line 18

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

#writeObject



25
26
27
28
29
# File 'lib/rspec_api_documentation/api_documentation.rb', line 25

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

#writersObject



31
32
33
34
35
# File 'lib/rspec_api_documentation/api_documentation.rb', line 31

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