class DataSift::ApiResource
Base API class
Constants
- TLSv1
- TLSv1_2
Public Class Methods
new(config)
click to toggle source
Initializer to create global @config object
@param config [Hash] Pass config object, including your DataSift
username,
API key and any other custom config parameters
# File lib/api/api_resource.rb, line 12 def initialize(config) @config = config config[:api_host] = 'api.datasift.com' unless config.has_key?(:api_host) config[:stream_host] = 'websocket.datasift.com' unless config.has_key?(:stream_host) config[:ingestion_host] = 'in.datasift.com' unless config.has_key?(:ingestion_host) config[:api_version] = 'v1.6' unless config.has_key?(:api_version) config[:enable_ssl] = true unless config.has_key?(:enable_ssl) ssl_default = TLSv1_2 if RUBY_VERSION.to_i == 1 # Ruby 1.x does not seem to support > TLSv1 ssl_default = TLSv1 end config[:ssl_version] = config[:ssl_version] || ssl_default # max 320 seconds retry - http://dev.datasift.com/docs/streaming-api/reconnecting config[:max_retry_time] = 320 unless config.key?(:max_retry_time) config[:retry_timeout] = 0 unless config.key?(:retry_timeout) end
Public Instance Methods
requires(params)
click to toggle source
Ensure parameters have been set
@param params [Hash] Hash of parameters you need to check exist and are
non-null values
# File lib/api/api_resource.rb, line 36 def requires(params) params.each { |k, v| if v == nil || v.to_s.length == 0 raise InvalidParamError.new "#{k} is a required parameter, it cannot be nil or empty" end } end