Class: Trend::Client
- Inherits:
-
Object
- Object
- Trend::Client
- Defined in:
- lib/trend/client.rb
Constant Summary collapse
- HEADERS =
{ "Content-Type" => "application/json", "Accept" => "application/json", "User-Agent" => "trend-ruby/#{Trend::VERSION}" }
Instance Method Summary collapse
- #anomalies(series, params = {}) ⇒ Object
- #correlation(series, series2, params = {}) ⇒ Object
- #forecast(series, params = {}) ⇒ Object
-
#initialize(url: nil, api_key: nil, timeout: 30) ⇒ Client
constructor
A new instance of Client.
Constructor Details
#initialize(url: nil, api_key: nil, timeout: 30) ⇒ Client
Returns a new instance of Client.
11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/trend/client.rb', line 11 def initialize(url: nil, api_key: nil, timeout: 30) @api_key = api_key || Trend.api_key url ||= Trend.url if !url raise ArgumentError, "Trend url not set" end @uri = URI.parse(url) @http = Net::HTTP.new(@uri.host, @uri.port) @http.use_ssl = true if @uri.scheme == "https" @http.open_timeout = timeout @http.read_timeout = timeout end |
Instance Method Details
#anomalies(series, params = {}) ⇒ Object
24 25 26 27 |
# File 'lib/trend/client.rb', line 24 def anomalies(series, params = {}) resp = make_request("anomalies", series, params) resp["anomalies"].map { |v| parse_time(v) } end |
#correlation(series, series2, params = {}) ⇒ Object
34 35 36 37 |
# File 'lib/trend/client.rb', line 34 def correlation(series, series2, params = {}) resp = make_request("correlation", series, params.merge(series2: series2)) resp["correlation"] end |
#forecast(series, params = {}) ⇒ Object
29 30 31 32 |
# File 'lib/trend/client.rb', line 29 def forecast(series, params = {}) resp = make_request("forecast", series, params) Hash[resp["forecast"].map { |k, v| [parse_time(k), v] }] end |