Sha256: d7c5a01d6e5fd5519b760f761016738351a6c2f6f32c398eb009c03eb7984d2a

Contents?: true

Size: 1.15 KB

Versions: 10

Compression:

Stored size: 1.15 KB

Contents

module VoiceBase
  class Client
    include HTTParty

    attr_accessor :args
    attr_accessor :api_host
    attr_accessor :api_endpoint
    attr_accessor :api_version
    attr_accessor :debug
    attr_accessor :user_agent
    attr_accessor :cookies
    attr_accessor :locale
    attr_accessor :token

    # E.g. "request_status" -> "requestStatus"
    def self.camelize_name(snake_cased_name)
      snake_cased_name.to_s.camelize(:lower)
    end

    def initialize(args = {})
      @args                = args
      @api_version         = args[:api_version] || ENV.fetch('VOICEBASE_API_VERSION', '1.1')
      @auth_key            = args[:auth_key] || ENV['VOICEBASE_API_KEY']
      @auth_secret         = args[:auth_secret] || ENV['VOICEBASE_API_SECRET']
      @debug               = !!args[:debug]
      @user_agent          = args[:user_agent] || "usertesting-client/#{VoiceBase::version}"
      @locale              = args[:locale] || 'en'  # US English

      if @api_version.to_f < 2.0
        self.extend(VoiceBase::V1::Client)
      else
        self.extend(VoiceBase::V2::Client)
      end
    end

    def uri
      @api_host + @api_endpoint
    end

  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
voicebase-client-ruby-1.2.3 lib/voicebase/client.rb
voicebase-client-ruby-1.2.2 lib/voicebase/client.rb
voicebase-client-ruby-1.2.1 lib/voicebase/client.rb
voicebase-client-ruby-1.2.0 lib/voicebase/client.rb
voicebase-client-ruby-1.1.1 lib/voicebase/client.rb
voicebase-client-ruby-1.1.0 lib/voicebase/client.rb
voicebase-client-ruby-1.0.17 lib/voicebase/client.rb
voicebase-client-ruby-1.0.16 lib/voicebase/client.rb
voicebase-client-ruby-1.0.15 lib/voicebase/client.rb
voicebase-client-ruby-1.0.14 lib/voicebase/client.rb