lib/cpiu/api.rb in cpiu-0.1.1 vs lib/cpiu/api.rb in cpiu-0.2.0
- old
+ new
@@ -1,57 +1,57 @@
-# frozen_string_literal: true
-
-# CPIU - a Ruby interface for fetching CPI-U data from BLS.gov
-# Copyright (C) 2017 Cody Logan
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-require 'rest-client'
-require 'json'
-require 'dotenv/load'
-
-module CPIU
- # Interacts with the BLS.gov public API
- class API
- # URL to send POST requests to
- URL = 'https://api.bls.gov/publicAPI/v2/timeseries/data/'.freeze
- # The time series to query
- SERIESID = 'CUUR0000SA0'.freeze
-
- # Requests CPI-U data from the BLS server given two years between 1913 and
- # the present. The API will only return a maximum range of 20 years from
- # the start year.
- #
- # @param startyear [Integer] the first year to get data for
- # @param endyear [Integer] the last year to get data for
- # @param ann_avg [Boolean] set to true to include the average of monthly CPI
- # values for a year
- # @param calcs [Boolean] set to true to include net and percent CPI change
- # calculations
- # @return [Hash{String => String, Integer, Array}] the response data
- # retrieved from the server
- def self.request_data(startyear, endyear, ann_avg = false, calcs = false)
- response = RestClient.post(URL,
- {
- 'seriesid' => [SERIESID],
- 'startyear' => startyear,
- 'endyear' => endyear,
- 'annualaverage' => ann_avg,
- 'calculations' => calcs,
- 'registrationkey' => ENV['BLS_API_KEY']
- }.to_json,
- content_type: 'application/json')
- JSON(response)
- end
- end
-end
+# frozen_string_literal: true
+
+# CPIU - a Ruby interface for fetching CPI-U data from BLS.gov
+# Copyright (C) 2017 Cody Logan
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+require 'rest-client'
+require 'json'
+require 'dotenv/load'
+
+module CPIU
+ # Interacts with the BLS.gov public API
+ class API
+ # URL to send POST requests to
+ URL = 'https://api.bls.gov/publicAPI/v2/timeseries/data/'.freeze
+ # The time series to query
+ SERIESID = 'CUUR0000SA0'.freeze
+
+ # Requests CPI-U data from the BLS server given two years between 1913 and
+ # the present. The API will only return a maximum range of 20 years from
+ # the start year.
+ #
+ # @param startyear [Integer] the first year to get data for
+ # @param endyear [Integer] the last year to get data for
+ # @param ann_avg [Boolean] set to true to include the average of monthly CPI
+ # values for a year
+ # @param calcs [Boolean] set to true to include net and percent CPI change
+ # calculations
+ # @return [Hash{String => String, Integer, Array}] the response data
+ # retrieved from the server
+ def self.request_data(startyear, endyear, ann_avg = false, calcs = false)
+ response = RestClient.post(URL,
+ {
+ 'seriesid' => [SERIESID],
+ 'startyear' => startyear,
+ 'endyear' => endyear,
+ 'annualaverage' => ann_avg,
+ 'calculations' => calcs,
+ 'registrationkey' => ENV['BLS_API_KEY']
+ }.to_json,
+ content_type: 'application/json')
+ JSON(response)
+ end
+ end
+end