class Rails::API::Task

def api_main

def api_main
  component_root_dir('railties') + '/RDOC_MAIN.rdoc'
end

def configure_rdoc_files

def configure_rdoc_files
  rdoc_files.include(api_main)
  RDOC_FILES.each do |component, cfg|
    cdr = component_root_dir(component)
    Array(cfg[:include]).each do |pattern|
      rdoc_files.include("#{cdr}/#{pattern}")
    end
    Array(cfg[:exclude]).each do |pattern|
      rdoc_files.exclude("#{cdr}/#{pattern}")
    end
  end
end

def desc(description)

Hack, ignore the desc calls performed by the original initializer.
def desc(description)
  # no-op
end

def initialize(name)

def initialize(name)
  super
  # Every time rake runs this task is instantiated as all the rest.
  # Be lazy computing stuff to have as light impact as possible to
  # the rest of tasks.
  before_running_rdoc do
    load_and_configure_sdoc
    configure_rdoc_files
    setup_horo_variables
  end
end

def load_and_configure_sdoc

def load_and_configure_sdoc
  require 'sdoc'
  self.title    = 'Ruby on Rails API'
  self.rdoc_dir = api_dir
  options << '-m'  << api_main
  options << '-e'  << 'UTF-8'
  options << '-f'  << 'sdoc'
  options << '-T'  << 'rails'
rescue LoadError
  $stderr.puts %(Unable to load SDoc, please add\n\n    gem 'sdoc', require: false\n\nto the Gemfile.)
  exit 1
end

def setup_horo_variables

def setup_horo_variables
  ENV['HORO_PROJECT_NAME']    = 'Ruby on Rails'
  ENV['HORO_PROJECT_VERSION'] = rails_version
end