lita-ping-me 0.0.2 → 0.0.3

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: 9810b61053b12381679d74f7be819e14d9b98406
4
- data.tar.gz: 9e9ff345bd62649e66b5fe1dfe055c62864a38b0
3
+ metadata.gz: 5634f70a83b8256e0411d384b9af6425d7805656
4
+ data.tar.gz: e6af0a61a28a859a3ce91b76c5b7d77cfe46d544
5
5
  SHA512:
6
- metadata.gz: f675f5fbff9e9eb3932a5c9a40818363231e251f9de921fd990711d96c2f0ce8d8a6a4b94d8f46e4e5bcfe7b65b423d29cfdd27dbeaf242c4deb407842934ab4
7
- data.tar.gz: 1cfee08513c40e8a1a2b80d0fb0b23de6b84489f064686ef5812f9906d79585d82869ea39df027d0f596931127ab0b2e5ab629d3cdb572859786907796947a91
6
+ metadata.gz: 55f94679ca8c27028357c2e986e5f9fec27f522011a36af3c31ad8b672fa55cb08017beaa2969a04cefdb997f9724aa3e05b2f4d1cde9175194bf892511edfbb
7
+ data.tar.gz: 6dbf15089de9fcb6b9079528bd1546dc8c461c2761ac4bfa0948da1d72e0bbd999e21c6be1288db88f18ded7e283c43c1b869a8bc3d847b47667ff8b573b43f1
@@ -30,6 +30,7 @@ module Lita
30
30
  end
31
31
 
32
32
  route(/^sleep[\s+]?(\d+)?/, :sleep)
33
+ route(/^wake?/, :wake)
33
34
 
34
35
  route(/^any errors\?/, :check_for_errors)
35
36
 
@@ -50,9 +51,13 @@ module Lita
50
51
  end
51
52
 
52
53
  def sleep(response)
54
+ @sleeping = true
53
55
  time = parse_time(response.args.first.to_i)
54
56
  timer.stop
55
- after(time) { start_pinging }
57
+ after(time) do
58
+ @sleeping = false
59
+ start_pinging
60
+ end
56
61
  response.reply("Sure, will sleep for #{seconds_to_minutes(time)} minutes")
57
62
  end
58
63
 
@@ -63,10 +68,15 @@ module Lita
63
68
  end
64
69
 
65
70
  def notify(request, response)
71
+ return if @sleeping
66
72
  id = request.env["router.params"][:id]
67
73
  msg = id.split('_').join(" ")
68
74
  send_message("#{msg}")
69
- response.body << "#{msg} #{request.user_agent}!"
75
+ response.body << "#{msg}"
76
+ end
77
+
78
+ def wake(_)
79
+ @sleeping = false
70
80
  end
71
81
 
72
82
  private
@@ -100,7 +110,7 @@ module Lita
100
110
  end
101
111
 
102
112
  def target(payload = {})
103
- @target ||= Source.new(room: config.room)
113
+ @target ||= Source.new(room: config.room || '')
104
114
  end
105
115
 
106
116
  def send_message(msg)
data/lita-ping-me.gemspec CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "lita-ping-me"
7
- spec.version = '0.0.2'
7
+ spec.version = '0.0.3'
8
8
  spec.authors = ["Douglas Roper"]
9
9
  spec.email = ["dougdroper@gmail.com"]
10
10
  spec.summary = %q{Lita plugin for periodically checking statuses of websites}
@@ -25,4 +25,5 @@ Gem::Specification.new do |spec|
25
25
  spec.add_development_dependency "bundler", "~> 1.7"
26
26
  spec.add_development_dependency "rake", "~> 10.0"
27
27
  spec.add_development_dependency "rspec", "~> 3.3"
28
+ spec.add_development_dependency "rack-test", '~> 0.6'
28
29
  end
@@ -59,10 +59,26 @@ RSpec.describe Lita::Handlers::PingMe, lita_handler: true do
59
59
  let(:current_status) { {'http://test.com' => { code: 200, time: 4.882903 }} }
60
60
 
61
61
  it 'responds with the correct status' do
62
- expect(Lita::Handlers::Connection).to receive(:new).with(["http://test.com"]).and_return(response)
62
+ expect(Lita::Handlers::Connection).to receive(:new).and_return(response)
63
63
  send_message("status <http://test.com|test.com>")
64
64
  expect(replies.last).to eq("http://test.com: code 200, time: 4.882903")
65
65
  end
66
66
  end
67
+
68
+ context 'notify' do
69
+ it 'notifies when something goes wrong' do
70
+ response = http.get("/notify/something_has_gone_wrong")
71
+ expect(response.body).to eq("something has gone wrong")
72
+ end
73
+
74
+ it 'doesn\'t notify when it is sleeping' do
75
+ send_message('sleep')
76
+ response = http.get("/notify/something_has_gone_wrong")
77
+ expect(response.body).to eq("")
78
+ send_message('wake')
79
+ response = http.get("/notify/something_has_gone_wrong")
80
+ expect(response.body).to eq('something has gone wrong')
81
+ end
82
+ end
67
83
  end
68
84
  end
data/spec/spec_helper.rb CHANGED
@@ -1,7 +1,6 @@
1
- require 'pry'
2
-
3
1
  require 'rspec'
4
2
  require "lita/rspec"
3
+ require "rack/test"
5
4
  require_relative '../lib/lita-ping-me.rb'
6
5
 
7
6
  Lita.version_3_compatibility_mode = false
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lita-ping-me
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Douglas Roper
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-26 00:00:00.000000000 Z
11
+ date: 2015-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lita
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '3.3'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rack-test
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.6'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.6'
83
97
  description: "\n periodically checks status of website and alerts chat room if
84
98
  response error\n "
85
99
  email: