lita-onewheel-forecast-io 1.4.0 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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