Sha256: 67cd808e417a8909b6d618a7ba692803459b76b655c010d2cc33bf5c4fd22ef0

Contents?: true

Size: 791 Bytes

Versions: 1

Compression:

Stored size: 791 Bytes

Contents

module RestMan
  class Request
    module Init
      class Url < ActiveMethod::Base

        autoload :AddQueryFromHeaders, "restman/request/init/url/add_query_from_headers"
        autoload :NormalizeUrl, "restman/request/init/url/normalize_url"

        argument :args
        argument :headers

        attr_accessor :url

        def call
          raise ArgumentError, "must pass :url" unless url

          add_http_scheme
          add_query_from_headers

          url
        end

        private

        def add_http_scheme
          self.url = NormalizeUrl.call(url)
        end

        def add_query_from_headers
          self.url = AddQueryFromHeaders.call(url, headers)
        end

        def url
          @url ||= args[:url].dup
        end

      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rest-man-1.1.0 lib/restman/request/init/url.rb