Sha256: 4789bdca5b0fdef82cb89df889b2377115f04c6b49ecaec6912d54289c1dc9a6

Contents?: true

Size: 624 Bytes

Versions: 8

Compression:

Stored size: 624 Bytes

Contents

# frozen-string-literal: true

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

module Down
  module_function

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

  def open(*args, &block)
    backend.open(*args, &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

8 entries across 8 versions & 1 rubygems

Version Path
down-5.1.0 lib/down.rb
down-5.0.1 lib/down.rb
down-5.0.0 lib/down.rb
down-4.8.1 lib/down.rb
down-4.8.0 lib/down.rb
down-4.7.0 lib/down.rb
down-4.6.1 lib/down.rb
down-4.6.0 lib/down.rb