Sha256: 90d7f5db30fa4611daa9fbd0c80b1bcdcd37746ed92c526c3b283d99891da46b

Contents?: true

Size: 618 Bytes

Versions: 4

Compression:

Stored size: 618 Bytes

Contents

module Micropub
  module Endpoint
    class Client
      def initialize(url)
        raise ArgumentError, "url must be a String (given #{url.class.name})" unless url.is_a?(String)

        @uri = Addressable::URI.parse(url)

        raise ArgumentError, 'url must be an absolute URI (e.g. https://example.com)' unless @uri.absolute?
      rescue Addressable::URI::InvalidURIError => error
        raise InvalidURIError, error
      end

      def endpoint
        @endpoint ||= Discover.new(response).endpoint
      end

      def response
        @response ||= Response.new(@uri).response
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
micropub-endpoint-1.0.4 lib/micropub/endpoint/client.rb
micropub-endpoint-1.0.3 lib/micropub/endpoint/client.rb
micropub-endpoint-1.0.2 lib/micropub/endpoint/client.rb
micropub-endpoint-1.0.1 lib/micropub/endpoint/client.rb