The eltiempo
wraps a client and a corresponding parser for retrieving weather data from eltiempo's api
An example CLI is also provided. This can retrieve today's temperature, and current week's maximum and minimum average temperature of any registered city in Barcelona, Spain.
ruby 2.7.0
Add this line to your application's Gemfile:
gem 'eltiempo'
And then execute:
$ bundle
Or install it yourself as:
$ gem install eltiempo
It's necessary a proper eltiempo
's API key to be able to retrieve data.
Both the CLI and the gem
expect a TIEMPO_API_KEY
environment variable to be set.
If you're using dotenv in your project, the gem will be able to pick up the variable from there also.
require 'eltiempo'
client = Eltiempo::Client.new Eltiempo::ResponseParser.new
# Retrieving locations associated to division, from api
division = client.get_locations_from_division_id(division_id, division_name)
# Retrieving location by the passed name
location = division.get_location(city_name)
if !location
puts 'Location passed was not found'
return
end
# Retrieves weather information from api
week_weather = client.get_weather_from_location_id(location.id)
# Prints today's temperature
puts week_weather.todays_temperature
puts week_weather.average_maximum_temperature
puts week_weather.average_minimum_temperature
To install the cli in your system, after cloning this repository, run bundle exec rake install
The help function for the eltiempo
CLI prompts the following:
$ eltiempo --help
The "eltiempo" cli retrieves the temperature of any city in Barcelona.
It can prompt today's temperature, average minimum and/or average maximum
weekly temperature, in Celsius degrees.
Any combination of the following flags can be passed to the command (at least one should be passed)
FLAGS
--today, -today, -t Will prompt today's temperature for the passed city.
--av_max, -av_max, -u Will prompt average maximum temperature of the week for that city.
--av-min, -av_min, -d Will prompt average minimum temperature of the week for that city.
--help, -help, -h Will prompt this help menu (Ignoring any other param)
PARAMETER
The Barcelona's city of which you want to retrieve its temperature
The eltiempo
CLI is an example of the use of the gem
. In any case, as mentioned, you need to have the TIEMPO_API_KEY
env variable set in your system.
$ TIEMPO_API_KEY=yourkey eltiempo -today 'Gavà'
Barcelona: Today's (2020-10-13) temperature in Gavà is:
15.5 celsius
You could also pass multiple parameters:
$ TIEMPO_API_KEY=yourkey eltiempo -today -av_min -av_max gavà
Barcelona: Today's (2020-10-13) temperature in Gavà is:
15.5 celsius
Barcelona: Max temperature in Gavà for the week:
18.4 celsius
Barcelona: Min temperature in Gavà for the week:
9.4 celsius
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests (this will create a coverage report in the coverage
directory).
You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
On local development, as already mentioned, you can use dotenv to define the TIEMPO_API_KEY
env variable, and it will be loaded on require
. In that sense, the file .env.template
serves as guideline: You can just rename it to .env
and set the variable inside it to your API key and that's all.
Bug reports and pull requests are welcome on GitHub at https://github.com/mountolive/eltiempo.
The gem is available as open source under the terms of the MIT License.