Class: Quandl::Client::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/quandl/client/base.rb,
lib/quandl/client/base/model.rb,
lib/quandl/client/base/search.rb,
lib/quandl/client/base/benchmark.rb,
lib/quandl/client/base/attributes.rb,
lib/quandl/client/base/validation.rb

Defined Under Namespace

Modules: Attributes, Benchmark, Model, Search, Validation Classes: TokenAuthentication, TrackRequestSource

Constant Summary collapse

TOKEN_THREAD_KEY =
'quandl_client_token'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.tokenObject

Returns the value of attribute token.



20
21
22
# File 'lib/quandl/client/base.rb', line 20

def token
  @token
end

.urlObject

Returns the value of attribute url.



20
21
22
# File 'lib/quandl/client/base.rb', line 20

def url
  @url
end

Class Method Details

.her_apiObject



52
53
54
55
56
57
58
59
60
61
# File 'lib/quandl/client/base.rb', line 52

def her_api
  Her::API.new.setup url: url_with_version do |c|
    c.use TokenAuthentication
    c.use TrackRequestSource
    c.use Faraday::Request::Multipart
    c.use Faraday::Request::UrlEncoded
    c.use Quandl::Client::Middleware::ParseJSON
    c.use Faraday::Adapter::NetHttp
  end
end

.modelsObject



84
85
86
# File 'lib/quandl/client/base.rb', line 84

def models
  @@models ||= []
end

.models_use_her_api!Object (protected)



90
91
92
93
94
95
# File 'lib/quandl/client/base.rb', line 90

def models_use_her_api!
  models.each  do |m|
    m.url = url_with_version
    m.use_api(her_api)
  end
end

.threadsafe_token!Object



22
23
24
# File 'lib/quandl/client/base.rb', line 22

def threadsafe_token!
  @threadsafe_token = true
end

.threadsafe_token?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/quandl/client/base.rb', line 26

def threadsafe_token?
  @threadsafe_token || false
end

.url_with_versionObject



67
68
69
# File 'lib/quandl/client/base.rb', line 67

def url_with_version
  File.join( url.to_s, Quandl::Client.api_version.to_s )
end

.use(url) ⇒ Object



30
31
32
33
# File 'lib/quandl/client/base.rb', line 30

def use(url)
  self.url = url
  models_use_her_api!
end