Sha256: 1430387d1a4c59d1bd6dd564487cbc74243c1dce8f2b08080709d20673801e48

Contents?: true

Size: 710 Bytes

Versions: 4

Compression:

Stored size: 710 Bytes

Contents

require 'acfs/request/callbacks'

module Acfs

  class Request
    attr_accessor :body, :format
    attr_reader :url, :headers, :params, :data

    include Request::Callbacks

    def initialize(url, options = {})
      @url = URI.parse(url).tap do |url|
        @data    = options.delete(:data) || nil
        @format  = options.delete(:format) || :json
        @headers = options.delete(:headers) || {}
        @params  = options.delete(:params) || {}

        url.query = nil # params.any? ? params.to_param : nil
      end.to_s
    end

    def data?
      !data.nil?
    end

    class << self
      def new(*attrs)
        return attrs[0] if attrs[0].is_a? self
        super
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
acfs-0.5.1 lib/acfs/request.rb
acfs-0.5.0 lib/acfs/request.rb
acfs-0.4.0 lib/acfs/request.rb
acfs-0.3.0 lib/acfs/request.rb