Sha256: ee1d3a6e9a652fc4cdc2ad53b340a7e0d5399e74cc46976de2dae8a335980e3b

Contents?: true

Size: 1.37 KB

Versions: 1

Compression:

Stored size: 1.37 KB

Contents

require 'httparty'

require 'kewego_party/cache'
require 'kewego_party/connection'
require 'kewego_party/request'

require 'kewego_party/client/app'
require 'kewego_party/client/auth'
require 'kewego_party/client/channel_list'
require 'kewego_party/client/channel'
require 'kewego_party/client/upload'
require 'kewego_party/client/video'

module KewegoParty
  class Client
    include ::HTTParty

    include KewegoParty::Cache
    include KewegoParty::Connection
    include KewegoParty::Request

    include KewegoParty::Client::App
    include KewegoParty::Client::Auth
    include KewegoParty::Client::ChannelList
    include KewegoParty::Client::Channel
    include KewegoParty::Client::Upload
    include KewegoParty::Client::Video

    attr_accessor(*(Configuration::VALID_OPTIONS_KEYS - [:app_token]))

    def initialize(options={})
      options = KewegoParty.options.merge(options)
      Configuration::VALID_OPTIONS_KEYS.each do |key|
        send("#{key}=", options[key])
      end
    end

    def caching_store=(store)
      @caching_store = store
      APICache.store = store
    end

    private
    def process_response(response, xml_path = [])
      Array(xml_path).unshift(:kewego_response, :message).inject(response) do |response, path|
        raise KewegoParty::InvalidResponseException.new(path) unless response.key?(path)

        response[path]
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
kewego_party-0.0.1 lib/kewego_party/client.rb