class Rails::API::Task
def api_main
def api_main component_root_dir("railties") + "/RDOC_MAIN.md" 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 # Only generate documentation for files that have been # changed since the API was generated. if Dir.exist?(api_dir) && !ENV["ALL"] last_generation = DateTime.rfc2822(File.open("#{api_dir}/created.rid", &:readline)) rdoc_files.keep_if do |file| File.mtime(file).to_datetime > last_generation end # Nothing to do exit(0) if rdoc_files.empty? end end
def configure_sdoc
def configure_sdoc self.title = "Ruby on Rails API" self.rdoc_dir = api_dir options << "-m" << api_main options << "-e" << "UTF-8" options << "-f" << "api" options << "-T" << "rails" end
def desc(description)
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 configure_sdoc configure_rdoc_files setup_horo_variables end end
def setup_horo_variables # :nodoc:
These variables are used by the sdoc template
def setup_horo_variables # :nodoc: ENV["HORO_PROJECT_NAME"] = "Ruby on Rails" ENV["HORO_PROJECT_VERSION"] = rails_version ENV["HORO_BADGE_VERSION"] = badge_version ENV["HORO_CANONICAL_URL"] = canonical_url end