Sha256: f55639fb73923d74bdbf05a6612eaa545f045c23d4bef327a27e52834c3c995a

Contents?: true

Size: 668 Bytes

Versions: 13

Compression:

Stored size: 668 Bytes

Contents

# frozen-string-literal: true

require "down/version"
require "down/net_http"

module Down
  module_function

  def download(*args, **options, &block)
    backend.download(*args, **options, &block)
  end

  def open(*args, **options, &block)
    backend.open(*args, **options, &block)
  end

  # Allows setting a backend via a symbol or a downloader object.
  def backend(value = nil)
    if value.is_a?(Symbol)
      require "down/#{value}"
      @backend = Down.const_get(value.to_s.split("_").map(&:capitalize).join)
    elsif value
      @backend = value
    else
      @backend
    end
  end
end

# Set Net::HTTP as the default backend
Down.backend Down::NetHttp

Version data entries

13 entries across 13 versions & 2 rubygems

Version Path
down-5.4.2 lib/down.rb
down-5.4.1 lib/down.rb
down-5.4.0 lib/down.rb
down-5.3.1 lib/down.rb
down-5.3.0 lib/down.rb
down-5.2.4 lib/down.rb
down-5.2.3 lib/down.rb
down-5.2.2 lib/down.rb
down-5.2.1 lib/down.rb
down-5.2.0 lib/down.rb
metanorma-cli-1.3.4 gems/ruby/2.6.0/gems/down-5.1.1/lib/down.rb
metanorma-cli-1.3.3.1 gems/ruby/2.6.0/gems/down-5.1.1/lib/down.rb
down-5.1.1 lib/down.rb