Class: Trend::Client

Inherits:
Object
  • Object
show all
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

Constructor Details

#initialize(url: nil, api_key: nil) ⇒ Client

Returns a new instance of Client.



11
12
13
14
15
16
17
18
# File 'lib/trend/client.rb', line 11

def initialize(url: nil, api_key: nil)
  @api_key = api_key || Trend.api_key
  @uri = URI.parse(url || Trend.url)
  @http = Net::HTTP.new(@uri.host, @uri.port)
  @http.use_ssl = true if @uri.scheme == "https"
  @http.open_timeout = 3
  @http.read_timeout = 5
end

Instance Method Details

#anomalies(series, params = {}) ⇒ Object



20
21
22
23
# File 'lib/trend/client.rb', line 20

def anomalies(series, params = {})
  resp = make_request("anomalies", series, params)
  resp["anomalies"].map { |v| parse_time(v) }
end

#correlation(series, series2, params = {}) ⇒ Object



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

def correlation(series, series2, params = {})
  resp = make_request("correlation", series, params.merge(series2: series2))
  resp["correlation"]
end

#forecast(series, params = {}) ⇒ Object



25
26
27
28
# File 'lib/trend/client.rb', line 25

def forecast(series, params = {})
  resp = make_request("forecast", series, params)
  Hash[resp["forecast"].map { |k, v| [parse_time(k), v] }]
end