Sha256: 99f135c659bfadcfd750daf214c00a591d491131f0fd766c5317b500532bc7f9

Contents?: true

Size: 513 Bytes

Versions: 1

Compression:

Stored size: 513 Bytes

Contents

require "platina_world/fetchers/local"
require "platina_world/fetchers/net"

module PlatinaWorld
  class FetcherBuilder
    def initialize(uri)
      @uri = URI.parse(uri)
    end

    def build
      fetcher_class.new(@uri)
    end

    private

    def fetcher_class
      case @uri
      when URI::HTTP, URI::HTTPS
        ::PlatinaWorld::Fetcher::Net
      when URI::Generic
        ::PlatinaWorld::Fetcher::Local
      else
        raise "Unknow URI type: #{@uri.class}(#{@uri})"
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
platina_world-0.1.5 lib/platina_world/fetcher_builder.rb