Как мне сгенерировать RDOC для (всех) Rails? - PullRequest
13 голосов
/ 29 июля 2009

Я могу сделать

sudo gem rdoc activerecord --no-ri

и

sudo gem rdoc actionpack --no-ri

оба из которых дают мне хорошие документы.

Но

sudo gem rdoc rails --no-ri

мне почти ничего не дает, так как само сокровище Rails действительно является держателем для остальных Как я могу сгенерировать эквивалент http://api.rubyonrails.org/?

Ответы [ 9 ]

16 голосов
/ 25 марта 2011
sudo gem rdoc --all --overwrite
14 голосов
/ 04 августа 2009

Самым простым, что я нашел, было просто загрузить их с railsapi.com и распаковать файл в /Library/Ruby/Gems/1.8/doc/rails-2.3.3/rdoc/

9 голосов
/ 30 июля 2009

Если вы установили рельсы с помощью rdoc (sudo gem install rails) Вы можете получить к нему доступ через

gem server
5 голосов
/ 18 сентября 2011

Ниже я попытаюсь немного прояснить шаги по загрузке документации по rails 3.1 локально на вашу машину в качестве эквивалента http://api.rubyonrails.org/

  1. Перейдите в проект sdoc на https://github.com/voloko/sdoc и получите проект (или просто выполните gem install sdoc)
  2. Посетите проект rails в https://github.com/rails/rails и скопируйте его на свой локальный компьютер
  3. Войдите в клон рельсов и запустите sdoc -N rails
  4. Это займет некоторое время. Когда это будет сделано, у вас будет новый каталог с именем doc
  5. Вы можете переместить каталог doc куда угодно и открыть файл index.html в браузере. Обратите внимание, что для этого вам не нужен веб-сервер.

Как примечание, похоже, что sdoc официально стал документом для Ruby on Rails API (см. http://weblog.rubyonrails.org/2011/8/29/the-rails-api-switches-to-sdoc)

3 голосов
/ 04 августа 2009

Вы можете заморозить Rails в приложении и запустить rake doc:rails, чтобы получить документы.

rails doc_project
cd doc_project
rake rails:freeze
rake doc:rails

RDocs должен находиться в каталоге doc / api. Вы можете использовать rake rails:freeze:edge для получения документации по Edge Rails.

В качестве альтернативы вы можете скачать документы с сайта, например Rails Brain , чтобы получить с ним также шаблон для поиска.

Если вы хотите, чтобы документы отображались в gem server, то проще всего будет переустановить гем rails с опцией rdoc.

sudo gem install rails --rdoc
2 голосов
/ 09 сентября 2012

Запустите команду bundle exec rdoc в командной строке.

Будет сгенерирована вся документация вашего кода.

0 голосов
/ 06 февраля 2010
$ rake rails:freeze:gems
$ rake doc:rails
$ rake rails:unfreeze
$ sudo mv doc/api/* /Library/Ruby/Gems/1.8/doc/rails-2.3.5/rdoc
$ gem server
0 голосов
/ 04 августа 2009

Если вам нужно сгенерировать краевые документы, вы можете выполнить что-то вроде этого

git clone git://github.com/rails/rails.git ~/rails
# or if you have repo, just checkout interested branch
cd ~
ruby ~/rails/railties/bin/rails docapp
cd docapp
ln -s ~/rails vendor/rails
rake doc:rerails
rake doc:guides
0 голосов
/ 29 июля 2009

Из проекта Rails Rakefile

desc "Generate documentation for the Rails framework"
Rake::RDocTask.new do |rdoc|
  rdoc.rdoc_dir = 'doc/rdoc'
  rdoc.title = "Ruby on Rails Documentation"

  rdoc.options << '--line-numbers' << '--inline-source'
  rdoc.options << '-A cattr_accessor=object'
  rdoc.options << '--charset' << 'utf-8'

  rdoc.template = ENV['template'] ? "#{ENV['template']}.rb" : './doc/template/horo'

  rdoc.rdoc_files.include('railties/CHANGELOG')
  rdoc.rdoc_files.include('railties/MIT-LICENSE')
  rdoc.rdoc_files.include('railties/README')
  rdoc.rdoc_files.include('railties/lib/{*.rb,commands/*.rb,rails/*.rb,rails_generator/*.rb}')

  rdoc.rdoc_files.include('activerecord/README')
  rdoc.rdoc_files.include('activerecord/CHANGELOG')
  rdoc.rdoc_files.include('activerecord/lib/active_record/**/*.rb')
  rdoc.rdoc_files.exclude('activerecord/lib/active_record/vendor/*')

  rdoc.rdoc_files.include('activeresource/README')
  rdoc.rdoc_files.include('activeresource/CHANGELOG')
  rdoc.rdoc_files.include('activeresource/lib/active_resource.rb')
  rdoc.rdoc_files.include('activeresource/lib/active_resource/*')

  rdoc.rdoc_files.include('actionpack/README')
  rdoc.rdoc_files.include('actionpack/CHANGELOG')
  rdoc.rdoc_files.include('actionpack/lib/action_controller/**/*.rb')
  rdoc.rdoc_files.include('actionpack/lib/action_view/**/*.rb')
  rdoc.rdoc_files.exclude('actionpack/lib/action_controller/vendor/*')

  rdoc.rdoc_files.include('actionmailer/README')
  rdoc.rdoc_files.include('actionmailer/CHANGELOG')
  rdoc.rdoc_files.include('actionmailer/lib/action_mailer/base.rb')
  rdoc.rdoc_files.exclude('actionmailer/lib/action_mailer/vendor/*')

  rdoc.rdoc_files.include('activesupport/README')
  rdoc.rdoc_files.include('activesupport/CHANGELOG')
  rdoc.rdoc_files.include('activesupport/lib/active_support/**/*.rb')
  rdoc.rdoc_files.exclude('activesupport/lib/active_support/vendor/*')
end

# Enhance rdoc task to copy referenced images also
task :rdoc do
  FileUtils.mkdir_p "doc/rdoc/files/examples/"
  FileUtils.copy "activerecord/examples/associations.png", "doc/rdoc/files/examples/associations.png"
end
...