class EiaFuel::Client
Public Class Methods
new(api_key = nil)
click to toggle source
# File lib/eia_fuel/client.rb, line 5 def initialize(api_key = nil) EiaFuel.api_key = api_key unless api_key.nil? raise ::EiaFuel::ApiKeyError.new("Missing the api_key") if EiaFuel.api_key.nil? end
Public Instance Methods
get(series_id)
click to toggle source
# File lib/eia_fuel/client.rb, line 10 def get(series_id) conn = Faraday.new(url: 'http://api.eia.gov/series/') res = conn.get do |f| f.params[:api_key] = EiaFuel.api_key f.params[:series_id] = series_id end parse_response(res) rescue => e puts 'An error ocurred while fetching data' end
Private Instance Methods
parse_response(response)
click to toggle source
# File lib/eia_fuel/client.rb, line 23 def parse_response(response) res = JSON.parse(response.body) if res.dig('series', 0) EiaFuel::Series.new(res.dig('series', 0)) else JSON.parse(response.body) end end