lib/quandl/client/base.rb in quandl_client-2.7.3 vs lib/quandl/client/base.rb in quandl_client-2.7.4

- old
+ new

@@ -1,92 +1,92 @@ -require "active_support" -require "active_support/inflector" -require "active_support/core_ext/hash" -require "active_support/core_ext/object" - -require 'quandl/client/base/model' -require 'quandl/client/base/attributes' -require 'quandl/client/base/validation' -require 'quandl/client/base/search' - -I18n.enforce_available_locales = false - -class Quandl::Client::Base - - class << self - - attr_accessor :url, :token - - def use(url) - self.url = url - models_use_her_api! - end - - def token=(token) - @token = token - models_use_her_api! - end - - 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 - - def url - @url ||= "http://quandl.com/api/" - end - - def url_with_version - File.join( url.to_s, Quandl::Client.api_version.to_s ) - end - - def inherited(subclass) - # remember models that inherit from base - models << subclass unless models.include?(subclass) - # include model behaviour - subclass.class_eval do - include Quandl::Client::Base::Model - include Quandl::Client::Base::Attributes - include Quandl::Client::Base::Validation - include Quandl::Client::Base::Search - end - end - - def models - @@models ||= [] - end - - protected - - def models_use_her_api! - models.each{|m| - m.url = url_with_version - m.use_api( her_api ) - } - end - - class TokenAuthentication < Faraday::Middleware - def call(env) - env[:request_headers]["X-API-Token"] = Quandl::Client::Base.token if Quandl::Client::Base.token.present? - @app.call(env) - end - end - - class TrackRequestSource < Faraday::Middleware - def call(env) - env[:body] ||= {} - env[:body][:request_source] = Quandl::Client.request_source - env[:body][:request_version] = Quandl::Client.request_version - env[:body][:request_platform] = RUBY_PLATFORM - @app.call(env) - end - end - - end - +require "active_support" +require "active_support/inflector" +require "active_support/core_ext/hash" +require "active_support/core_ext/object" + +require 'quandl/client/base/model' +require 'quandl/client/base/attributes' +require 'quandl/client/base/validation' +require 'quandl/client/base/search' + +I18n.enforce_available_locales = false + +class Quandl::Client::Base + + class << self + + attr_accessor :url, :token + + def use(url) + self.url = url + models_use_her_api! + end + + def token=(token) + @token = token + models_use_her_api! + end + + 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 + + def url + @url ||= "http://quandl.com/api/" + end + + def url_with_version + File.join( url.to_s, Quandl::Client.api_version.to_s ) + end + + def inherited(subclass) + # remember models that inherit from base + models << subclass unless models.include?(subclass) + # include model behaviour + subclass.class_eval do + include Quandl::Client::Base::Model + include Quandl::Client::Base::Attributes + include Quandl::Client::Base::Validation + include Quandl::Client::Base::Search + end + end + + def models + @@models ||= [] + end + + protected + + def models_use_her_api! + models.each{|m| + m.url = url_with_version + m.use_api( her_api ) + } + end + + class TokenAuthentication < Faraday::Middleware + def call(env) + env[:request_headers]["X-API-Token"] = Quandl::Client::Base.token if Quandl::Client::Base.token.present? + @app.call(env) + end + end + + class TrackRequestSource < Faraday::Middleware + def call(env) + env[:body] ||= {} + env[:body][:request_source] = Quandl::Client.request_source + env[:body][:request_version] = Quandl::Client.request_version + env[:body][:request_platform] = RUBY_PLATFORM + @app.call(env) + end + end + + end + end \ No newline at end of file