11# frozen_string_literal: true
22
3- require "yard"
4- require "yard-sorbet"
5-
6- YARD ::Rake ::YardocTask . new ( :yard ) do |t |
7- t . files = [ "lib/**/*.rb" ]
8- t . options = [ "--no-private" ,
9- "--protected" ,
10- "--markup=markdown" ,
11- "--markup-provider=redcarpet" ,
12- "--readme=README.md" ,
13- "--title=LogStruct YARD Documentation" ,
14- "--output-dir=site/public/yard" ]
15- t . stats_options = [ "--list-undoc" ]
16- end
17-
18- desc "Generate YARD documentation and open in browser"
19- task :'yard:open' => :yard do
20- require "launchy"
21- Launchy . open ( "site/public/yard/index.html" )
3+ begin
4+ require "yard"
5+ require "yard-sorbet"
226rescue LoadError
23- puts "Install the 'launchy' gem to open docs automatically"
7+ # Yard not available (e.g. from bundle install --without development on CI)
248end
259
26- desc "Clean YARD documentation directory"
27- task :'yard:clean' do
28- FileUtils . rm_rf ( "site/public/yard" )
29- end
10+ if defined? ( YARD ::Rake ::YardocTask )
11+ YARD ::Rake ::YardocTask . new ( :yard ) do |t |
12+ t . files = [ "lib/**/*.rb" ]
13+ t . options = [ "--no-private" ,
14+ "--protected" ,
15+ "--markup=markdown" ,
16+ "--markup-provider=redcarpet" ,
17+ "--readme=README.md" ,
18+ "--title=LogStruct YARD Documentation" ,
19+ "--output-dir=site/public/yard" ]
20+ t . stats_options = [ "--list-undoc" ]
21+ end
3022
31- desc "Regenerate YARD documentation"
32- task :'yard:regen' => [ :'yard:clean' , :yard ]
23+ desc "Generate YARD documentation and open in browser"
24+ task "yard:open" : :yard do
25+ require "launchy"
26+ Launchy . open ( "site/public/yard/index.html" )
27+ rescue LoadError
28+ puts "Install the 'launchy' gem to open docs automatically"
29+ end
30+
31+ desc "Clean YARD documentation directory"
32+ task :"yard:clean" do
33+ FileUtils . rm_rf ( "site/public/yard" )
34+ end
35+
36+ desc "Regenerate YARD documentation"
37+ task "yard:regen" : [ :"yard:clean" , :yard ]
38+ end
0 commit comments