Class: Doc::Configurator::Rails

Inherits:
Doc::Configurator show all
Defined in:
lib/doc/configurator/rails.rb

Instance Attribute Summary

Attributes inherited from Doc::Configurator

#config, #documentor

Instance Method Summary collapse

Methods inherited from Doc::Configurator

default_config_key, inherited, #initialize

Constructor Details

This class inherits a constructor from Doc::Configurator

Instance Method Details

#configure(update) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/doc/configurator/rails.rb', line 8

def configure(update)
  config.check_options!([], [:version, :prerelease])

  search_versions = Array(config[:version] || [nil])
  @versions = search_versions.map do |search_version|
    requirement = Gem::Requirement.new(search_version.is_a?(Integer) ? "~> #{search_version}" : search_version)
    versions = Gem::Specification.find_all_by_name('rails', requirement).map(&:version)
    versions.reject!(&:prerelease?) unless config[:prerelease]
    unless version = versions.sort.last
      raise ConfigError.new(self, "can't find rails version matching: #{search_version}")
    end
    version
  end
end

#tasksObject



23
24
25
26
27
28
29
30
31
# File 'lib/doc/configurator/rails.rb', line 23

def tasks
  @versions.map do |version|
    builder({
      :title => "rails-#{version}",
      :dir_name => "rails-#{version}",
      :paths => paths_to_document_for_version(version),
    })
  end
end