Class: DataSift::ApiResource
- Inherits:
-
Object
- Object
- DataSift::ApiResource
- Includes:
- DataSift
- Defined in:
- lib/api/api_resource.rb
Overview
Base API class
Direct Known Subclasses
Account, AccountIdentity, AccountIdentityLimit, AccountIdentityToken, Client, Historics, HistoricsPreview, LiveStream, ManagedSource, ManagedSourceAuth, ManagedSourceResource, Odp, Push, Pylon, Task
Constant Summary collapse
- TLSv1_2 =
"TLSv1_2".freeze
- TLSv1 =
"TLSv1".freeze
Constants included from DataSift
APPLICATION_JSON, DELETE, DETECT_DEAD_SOCKETS, GET, HEAD, IS_WINDOWS, KNOWN_SOCKETS, SOCKET_DETECTOR_TIMEOUT, VERSION, X_ANALYSIS_TASKS_QUEUED, X_ANALYSIS_TASKS_QUEUE_LIMIT, X_INSIGHT_TASKS_QUEUED, X_INSIGHT_TASKS_QUEUE_LIMIT, X_RATELIMIT_COST, X_RATELIMIT_LIMIT, X_RATELIMIT_REMAINING, X_TASKS_QUEUED, X_TASKS_QUEUE_LIMIT
Instance Method Summary collapse
-
#initialize(config) ⇒ ApiResource
constructor
Initializer to create global @config object.
-
#requires(params) ⇒ Object
Ensure parameters have been set.
Methods included from DataSift
Constructor Details
#initialize(config) ⇒ ApiResource
Initializer to create global @config object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# 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 |
Instance Method Details
#requires(params) ⇒ Object
Ensure parameters have been set
36 37 38 39 40 41 42 |
# 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 |