lita-ping-me 0.0.2 → 0.0.3

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: 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: