Sha256: 7144567af953c64a0077d91b6057000bec4fea68183985e3717bf33b29828627

Contents?: true

Size: 741 Bytes

Versions: 3

Compression:

Stored size: 741 Bytes

Contents

require 'faraday'
require 'faraday_middleware'
require 'erb'

module ElderScrollsLegends
  module RestClient

    def self.get(endpoint, params=nil)
      if params.nil?
        query = endpoint
      else
        query = "#{endpoint}?#{params_to_query(params)}"
      end
      
      client.get(query)
    end
    
    protected
    
    def self.client
      @client = Faraday.new API_URL do |conn|
        conn.response :xml,  :content_type => /\bxml$/
        conn.response :json, :content_type => /\bjson$/    
        conn.adapter Faraday.default_adapter
      end
    end

    def self.params_to_query(params)
      params.map {|p, v| "#{p}=#{ERB::Util.url_encode(v.to_s)}"}.join('&')
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
elder_scrolls_legends_sdk-1.2.0 lib/elder_scrolls_legends_sdk/rest_client.rb
elder_scrolls_legends_sdk-1.1.0 lib/elder_scrolls_legends_sdk/rest_client.rb
elder_scrolls_legends_sdk-1.0.0 lib/elder_scrolls_legends_sdk/rest_client.rb