lita-onewheel-forecast-io 1.4.0 → 1.4.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: aa23f0c55885ddd5d6ab1db319ecc2b43b331b13
4
- data.tar.gz: 66cc470e46a0719ea0222d1339022ce92ead6610
3
+ metadata.gz: 975690706b5d9aa3c3e1018579b6ba7a422ef1b4
4
+ data.tar.gz: b20a7284dcd11c6aa6559fa5f3edac4bbbc49c07
5
5
  SHA512:
6
- metadata.gz: 3d725067b2503cc45f852ce8d412a77f0e18c659be8f0aa285061eefb8abfa4a093b9f8bd4a8eeccc80ab443c78c11e9dc16cbb591a9ba41291e9477f0728e9c
7
- data.tar.gz: c020d54f2e1aa576966c2929083ff945e19c697d151392fc984c3eff851bb8d97da543985818167f47d12c037755f476bdbfd331f6464dc3969024696b283de9
6
+ metadata.gz: f9517b97db282f46efacf9b04b4b062183fba4f3e464689a571388b46133fcf0c34e4df66539e0c6ad4d3d39ae9af663a34a95cb156d81e2260e30c9bec06498
7
+ data.tar.gz: c6e8ae02c532a094f79f7747927d8668e232f34539fa3c9b5f7e7ee4cfa8be93b2296dee6c7314ab16c8f21e92a8ef1c66a306eb94f87bb3876498982f1a8b0a
@@ -474,10 +474,9 @@ module ForecastIo
474
474
  high_temp = hour['temperature'].to_i
475
475
  end
476
476
 
477
- if hour['temperature'].to_i >= 71
477
+ if !time_to_close_the_windows and hour['temperature'].to_i >= 71
478
478
  time_to_close_the_windows = hour['time']
479
479
  window_close_temp = hour['temperature']
480
- break
481
480
  end
482
481
  if time_to_close_the_windows and hour['temperature'].to_i < 71
483
482
  time_to_open_the_windows = hour['time']
@@ -212,6 +212,13 @@ module ForecastIo
212
212
  response.reply "Tomorrow will be #{tomorrow_will_be} today."
213
213
  end
214
214
 
215
+ def handle_irc_today(response)
216
+ location = geo_lookup(response.user, response.match_data[1])
217
+ forecast = get_forecast_io_results(response.user, location)
218
+ tomorrow_will_be = do_the_tomorrow_thing(forecast)
219
+ response.reply "Tomorrow will be #{tomorrow_will_be} today."
220
+ end
221
+
215
222
  def handle_irc_windows(response)
216
223
  location = geo_lookup(response.user, response.match_data[1])
217
224
  forecast = get_forecast_io_results(response.user, location)
@@ -70,10 +70,12 @@ module Lita
70
70
  route(/^neareststorm\s*$/i, :handle_irc_neareststorm, command: true)
71
71
  route(/^neareststorm\s+(.+)$/i, :handle_irc_neareststorm, command: true,
72
72
  help: { '!neareststorm [location]' => 'Nearest storm distance for [location].'})
73
- route(/^tomorrow/i, :handle_irc_tomorrow,
73
+ route(/^tomorrow/i, :handle_irc_tomorrow, command: true,
74
74
  help: { '!tomorrow' => 'Give me tomorrow\'s forecast as it relates to today.'})
75
- route(/^windows/i, :handle_irc_windows)
76
- route(/^windows\s+(.+)/i, :handle_irc_windows,
75
+ route(/^today/i, :handle_irc_today, command: true,
76
+ help: { '!today' => 'Give me today\'s forecast as it relates to yesterday.'})
77
+ route(/^windows/i, :handle_irc_windows, command: true)
78
+ route(/^windows\s+(.+)/i, :handle_irc_windows, command: true,
77
79
  help: { '!windows' => 'Tell me when to close my windows as it\'s warmer outside than in.'})
78
80
 
79
81
  # State Commands
@@ -162,7 +162,18 @@ module ForecastIo
162
162
  uri = config.api_uri + config.api_key + '/' + "#{location.latitude},#{location.longitude}"
163
163
  Lita.logger.debug uri
164
164
  set_scale(user)
165
- forecast = gimme_some_weather uri
165
+ gimme_some_weather uri
166
+ end
167
+
168
+ def get_forecast_io_historical_results(user, location, time)
169
+ if ! config.api_uri or ! config.api_key
170
+ Lita.logger.error "Configuration missing! '#{config.api_uri}' '#{config.api_key}'"
171
+ raise StandardError.new('Configuration missing!')
172
+ end
173
+ uri = config.api_uri + config.api_key + '/' + "#{location.latitude},#{location.longitude},#{time}"
174
+ Lita.logger.debug uri
175
+ set_scale(user)
176
+ gimme_some_weather uri
166
177
  end
167
178
 
168
179
  def handle_geo_lookup(response)
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = 'lita-onewheel-forecast-io'
3
- spec.version = '1.4.0'
3
+ spec.version = '1.4.1'
4
4
  spec.authors = ['Andrew Kreps']
5
5
  spec.email = ['andrew.kreps@gmail.com']
6
6
  spec.description = <<-EOS
@@ -513,7 +513,7 @@ describe Lita::Handlers::OnewheelForecastIo, lita_handler: true do
513
513
  it '!windows' do
514
514
  mock_up 'windows'
515
515
  send_command 'windows'
516
- expect(replies.last).to eq('Close the windows at 16:00, it will be 72°F. The high today will be 72°F.')
516
+ expect(replies.last).to eq('Close the windows at 16:00, it will be 72°F. Open them back up at 16:00. The high today will be 72°F.')
517
517
  end
518
518
 
519
519
  it 'will not say a 28.000000000000004% chance of rain' do
@@ -522,6 +522,11 @@ describe Lita::Handlers::OnewheelForecastIo, lita_handler: true do
522
522
  expect(replies.last).to eq("Portland, OR 48 hr rains |\u000302▁_▁\u000306▃▃▃\u000310▅\u000302▁_▁▁\u000306▃\u000302▁\u000310▃\u000306▃\u000310▅\u000306▃\u000302▁▁▁▁▁▁__________________________\u0003| max 28%")
523
523
  end
524
524
 
525
+ # it 'will summarize !today in relation to yesterday' do
526
+ # send_command 'today'
527
+ # expect(replies.last).to eq('Today will be whatever')
528
+ # end
529
+
525
530
  # it 'colors strings' do
526
531
  # cstr = Lita::Handlers::ForecastIo.get_colored_string([{:key => 1}], :key, 'x', {1 => :blue})
527
532
  # expect(cstr).to equal('x')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lita-onewheel-forecast-io
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Kreps
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-10 00:00:00.000000000 Z
11
+ date: 2016-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lita