Class: Litbuild::UrlVisitor
- Defined in:
- lib/litbuild/url_visitor.rb
Overview
This is a simple Visitor that just accumulates the best download URL for a set of Package blueprints.
Instance Method Summary collapse
- #download_url(pkg) ⇒ Object
-
#initialize ⇒ UrlVisitor
constructor
A new instance of UrlVisitor.
- #urls ⇒ Object
- #visit_package(package:) ⇒ Object
Methods inherited from Visitor
#in_subdirectory, #visit_commands, #visit_narrative, #visit_section
Constructor Details
#initialize ⇒ UrlVisitor
Returns a new instance of UrlVisitor.
9 10 11 12 |
# File 'lib/litbuild/url_visitor.rb', line 9 def initialize super @urls = [] end |
Instance Method Details
#download_url(pkg) ⇒ Object
18 19 20 21 22 23 |
# File 'lib/litbuild/url_visitor.rb', line 18 def download_url(pkg) url = pkg.directives['download-url'] || pkg.directives['project-url'] || pkg.directives['scm-url'] url ? url.first : "#{name}: no download URL known" end |
#urls ⇒ Object
25 26 27 |
# File 'lib/litbuild/url_visitor.rb', line 25 def urls @urls.compact.flatten.sort.uniq end |
#visit_package(package:) ⇒ Object
14 15 16 |
# File 'lib/litbuild/url_visitor.rb', line 14 def visit_package(package:) @urls << download_url(package) end |