Module: Babushka::UriHelpers
- Included in:
- DepRunner
- Defined in:
- lib/babushka/helpers/uri_helpers.rb
Instance Method Summary (collapse)
- - (Object) handle_source(uri, &block)
- - (Object) parse_uris
- - (Object) process_sources(&block)
- - (Object) setup_source_uris
- - (Object) uri_processor(method_name)
Instance Method Details
- (Object) handle_source(uri, &block)
23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/babushka/helpers/uri_helpers.rb', line 23 def handle_source uri, &block uri = uri_processor(:parse).call(uri) unless uri.is_a?(URI) case uri.scheme when 'git' git uri, &block when 'http', 'https', 'ftp', nil # We let `curl` work out the protocol if it's nil. Resource.extract uri, &block else log_error "Babushka can't handle #{uri.scheme}:// URLs yet. But it can if you write a patch! :)" end end |
- (Object) parse_uris
9 10 11 12 |
# File 'lib/babushka/helpers/uri_helpers.rb', line 9 def parse_uris @uris = source.map(&uri_processor(:escape)).map(&uri_processor(:parse)) @extra_uris = extra_source.map(&uri_processor(:escape)).map(&uri_processor(:parse)) if respond_to?(:extra_source) end |
- (Object) process_sources(&block)
18 19 20 21 |
# File 'lib/babushka/helpers/uri_helpers.rb', line 18 def process_sources &block @extra_uris.each {|uri| handle_source uri } unless @extra_uris.nil? @uris.all? {|uri| handle_source uri, &block } unless @uris.nil? end |
- (Object) setup_source_uris
4 5 6 7 |
# File 'lib/babushka/helpers/uri_helpers.rb', line 4 def setup_source_uris parse_uris requires_when_unmet(@uris.map(&:scheme).uniq & %w[ git ]) end |
- (Object) uri_processor(method_name)
14 15 16 |
# File 'lib/babushka/helpers/uri_helpers.rb', line 14 def uri_processor(method_name) L{|uri| URI.send(method_name, uri.respond_to?(:call) ? uri.call : uri.to_s) } end |