Class: PivotalDoc::Generator

Inherits:
Object
  • Object
show all
Defined in:
lib/pivotal_doc/generator.rb

Class Method Summary collapse

Class Method Details

.collect_releases!(config) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/pivotal_doc/generator.rb', line 21

def collect_releases!(config)
  releases= []
  config.projects.each do |name, _attrs|
    project= PT::Project.find(_attrs['id'].to_i)
    if _attrs['current']
      releases << Sprint.new(project)
    else
      releases << Release.new(project)
    end
  end
  return releases
end

.generate(format, settings = {}) ⇒ Object

TODO: Clean this mutatant up

Raises:



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/pivotal_doc/generator.rb', line 5

def generate(format, settings={})
  raise FormatNotSupported.new(format) unless generators.has_key?(format)
  config= PivotalDoc::Configuration.new(settings)
  config.authenticate!
  releases= collect_releases!(config)
  releases.each do |release|
    generator= release.generator(format) if release.respond_to?(:generator)
    (generator || generators[format]).new(release, config.settings).render_doc
  end
  true
end

.generatorsObject



17
18
19
# File 'lib/pivotal_doc/generator.rb', line 17

def generators
  { :html=>Generators::HTML, :csv=>Generators::CSV }
end