Come posso generare RDOC per (tutti) i binari?
-
05-07-2019 - |
Domanda
Posso farlo
sudo gem rdoc activerecord --no-ri
e
sudo gem rdoc actionpack --no-ri
entrambi mi danno buoni documenti.
Ma
sudo gem rdoc rails --no-ri
non mi dà praticamente nulla, poiché la gemma di Rails stessa è davvero solo un supporto per gli altri. Come posso generare l'equivalente di http://api.rubyonrails.org/ ?
?Soluzione 2
Il più semplice che ho trovato è stato semplicemente scaricarli da railsapi.com e decomprimere il file in / Library /Ruby/Gems/1.8/doc/rails-2.3.3/rdoc /
Altri suggerimenti
sudo gem rdoc --all --overwrite
Se hai installato i binari con rdoc (sudo gem install rails) Puoi accedervi tramite
gem server
Di seguito è il mio tentativo di chiarire un po 'i passaggi su come ottenere i documenti di Rails 3.1 scaricati localmente sul tuo computer come l'equivalente di http: / /api.rubyonrails.org/
- Vai al progetto sdoc all'indirizzo https://github.com/voloko/sdoc e ottieni il progetto (o semplicemente fai gem install sdoc)
- Visita il progetto Rails all'indirizzo https://github.com/rails/rails e esegui la clonazione sul tuo computer locale
- Entra nel clone delle rotaie ed esegui sdoc -N rotaie
- Questo richiederà del tempo. Al termine, avrai una nuova directory chiamata doc
- Puoi spostare la directory doc dove preferisci e aprire il file index.html in un browser. Nota che non hai bisogno di un server web per far funzionare tutto questo.
Come nota a margine sembra che sdoc sia diventato ufficialmente il documento per l'API Ruby on Rails (vedi http://weblog.rubyonrails.org/2011/8/29/the-rails-api-switches-to-sdoc )
Puoi bloccare Rails in un'app ed eseguire rake doc: rails
per ottenere i documenti.
rails doc_project
cd doc_project
rake rails:freeze
rake doc:rails
Il RDocs dovrebbe trovarsi nella directory doc / api. Puoi usare rake rails: freeze: edge
per ottenere la documentazione per Edge Rails.
In alternativa puoi scaricare i documenti da un sito come Rails Brain per ottenere un modello ricercabile con esso come bene.
Se desideri che i documenti vengano visualizzati in gem server
, la cosa più semplice potrebbe essere quella di reinstallare la gemma delle rotaie con l'opzione rdoc.
sudo gem install rails --rdoc
Esegui il comando bundle exec rdoc
sulla riga di comando.
Genererà tutta la documentazione del tuo codice.
Dal Railsfile del progetto Rails
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
Se devi generare documenti Edge, puoi eseguire qualcosa del genere
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
$ 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