Sha256: e1b409c77f4a2027ce7a9fac37f724c3466154cb95011b1034f442b1bd4d56c1

Contents?: true

Size: 802 Bytes

Versions: 7

Compression:

Stored size: 802 Bytes

Contents

module Tito
  class RequestProxy
    attr_accessor :proxy_path
    attr_accessor :proxy_class
    attr_accessor :api_key

    def initialize(proxy_class: nil, proxy_path: nil, api_key: nil)
      @proxy_path       = proxy_path
      @proxy_class      = proxy_class
      @api_key          = api_key
    end

    def extra_params
      {}.tap do |_extra_params|
        _extra_params[:path_prefix] = proxy_path  if proxy_path.to_s  != ''
        _extra_params[:api_key]     = api_key     if api_key.to_s     != ''
      end
    end

    def get(path, params = {})
      proxy_class.get(path, params.merge(extra_params))
    end

    def all(params = {})
      proxy_class.all(params.merge(extra_params))
    end

    def new(attrs = {})
      proxy_class.new(attrs.merge(extra_params))
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
tito-0.3.5 lib/tito/request_proxy.rb
tito-0.3.4 lib/tito/request_proxy.rb
tito-0.3.3 lib/tito/request_proxy.rb
tito-0.3.2 lib/tito/request_proxy.rb
tito-0.3.1 lib/tito/request_proxy.rb
tito-0.3 lib/tito/request_proxy.rb
tito-0.2.10 lib/tito/request_proxy.rb