cinch-seen 1.0.3 → 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: 0dfb70190d00e68a3163bf19fa941f62b2d7dcf9
4
+ data.tar.gz: 6b18a160621100b8a2d71e28ed944d4acc02ae56
5
+ SHA512:
6
+ metadata.gz: d40c2bc0ef84aa67c95d7c8396fd0afe44768e90f6ed0c18ddaf2e3c6970ec6d1be160566706c88d09b9469616a88c5c765d6e1bc54f46f233d5911f90166d2c
7
+ data.tar.gz: f3a0bd1b46a7c389884d5a725152632d3d41af006d6c8d1bd47a23dd6c87e88b43585562800460bd54f6811de7772ba833838db31033a926b3c23b5fcba541b4
@@ -1,4 +1,26 @@
1
1
  language: ruby
2
+ env:
3
+ global:
4
+ - "JRUBY_OPTS=-Xcext.enabled=true"
2
5
  rvm:
3
- - 1.9.2
6
+ - 2.1.0
7
+ - 2.0.0
4
8
  - 1.9.3
9
+ - 1.9.2
10
+ - 1.8.7
11
+ - jruby-18mode
12
+ - jruby-19mode
13
+ - ruby-head
14
+ - jruby-head
15
+ - ree
16
+ matrix:
17
+ allow_failures:
18
+ - rvm: 1.8.7
19
+ - rvm: ree
20
+ - rvm: jruby-18mode
21
+ - rvm: jruby-19mode
22
+ - rvm: jruby-head
23
+ fast_finish: true
24
+ env:
25
+ global:
26
+ - "JRUBY_OPTS=-Xcext.enabled=true"
@@ -8,24 +8,20 @@ Gem::Specification.new do |gem|
8
8
  gem.version = Cinch::Plugins::Seen::VERSION
9
9
  gem.authors = ['Brian Haberer']
10
10
  gem.email = ['bhaberer@gmail.com']
11
- gem.description = %q{Cinch Plugin to allow users to find out how long it's been since a user was active}
12
- gem.summary = %q{Cinch Plugin for Seen}
11
+ gem.description = %q(Cinch Plugin to allow users to find out how long it's been since a user was active)
12
+ gem.summary = %q(Cinch Plugin for Seen)
13
13
  gem.homepage = 'https://github.com/bhaberer/cinch-seen'
14
14
  gem.license = 'MIT'
15
-
16
15
  gem.files = `git ls-files`.split($/)
17
- gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
18
- gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
16
+ gem.executables = gem.files.grep(/^bin\//).map { |f| File.basename(f) }
17
+ gem.test_files = gem.files.grep(/^(test|spec|features)\//)
19
18
  gem.require_paths = ['lib']
20
-
21
- gem.add_development_dependency 'rake'
22
- gem.add_development_dependency 'rspec'
23
- gem.add_development_dependency 'coveralls'
24
- gem.add_development_dependency 'cinch-test'
25
-
26
- gem.add_dependency 'cinch', '~> 2.0.12'
27
- gem.add_dependency 'cinch-toolbox', '~> 1.1.0'
28
- gem.add_dependency 'cinch-cooldown', '~> 1.1.1'
29
- gem.add_dependency 'cinch-storage', '~> 1.1.0'
30
- gem.add_dependency 'time-lord', '~> 1.0.1'
19
+ gem.add_development_dependency 'rake', '~> 10'
20
+ gem.add_development_dependency 'rspec', '~> 3'
21
+ gem.add_development_dependency 'coveralls', '~> 0.7'
22
+ gem.add_development_dependency 'cinch-test', '~> 0.1', '>= 0.1.0'
23
+ gem.add_dependency 'cinch', '~> 2'
24
+ gem.add_dependency 'cinch-cooldown', '~> 1.1', '>= 1.1.1'
25
+ gem.add_dependency 'cinch-storage', '~> 1.1'
26
+ gem.add_dependency 'cinch-toolbox', '~> 1.1'
31
27
  end
@@ -5,62 +5,54 @@ require 'cinch/storage'
5
5
  require 'cinch/cooldown'
6
6
  require 'time-lord'
7
7
 
8
- module Cinch::Plugins
9
- # plugin to allow users to see when other users were last active
10
- class Seen
11
- include Cinch::Plugin
12
-
13
- # Simple object used to track users.
14
- Activity = Struct.new(:nick, :time, :message)
15
-
16
- enforce_cooldown
17
-
18
- self.help = 'Use .seen <name> to see the last time that nick was active.'
19
-
20
- listen_to :channel
21
-
22
- match /seen ([^\s]+)\z/
23
-
24
- def initialize(*args)
25
- super
26
- @storage = Cinch::Storage.new(config[:filename] || 'yaml/seen.yml')
27
- @storage.data ||= {}
28
- end
8
+ module Cinch
9
+ module Plugins
10
+ # plugin to allow users to see when other users were last active
11
+ class Seen
12
+ include Cinch::Plugin
13
+
14
+ # Simple object used to track users.
15
+ Activity = Struct.new(:nick, :time, :message)
16
+
17
+ enforce_cooldown
18
+ self.help = 'Use .seen <name> to see the last time that nick was active.'
19
+ listen_to :channel
20
+ match(/seen ([^\s]+)\z/)
21
+
22
+ def initialize(*args)
23
+ super
24
+ @storage = Cinch::Storage.new(config[:filename] || 'yaml/seen.yml')
25
+ @storage.data ||= {}
26
+ end
29
27
 
30
- def listen(m)
31
- channel = m.channel.name
32
- nick = m.user.nick
33
- @storage.data[channel] ||= {}
34
- @storage.data[channel][nick.downcase] =
35
- Activity.new(nick, Time.now, m.message)
36
- @storage.synced_save(@bot)
37
- end
28
+ def listen(m)
29
+ channel = m.channel.name
30
+ nick = m.user.nick
31
+ @storage.data[channel] ||= {}
32
+ @storage.data[channel][nick.downcase] =
33
+ Activity.new(nick, Time.now, m.message)
34
+ @storage.synced_save(@bot)
35
+ end
38
36
 
39
- def execute(m, nick)
40
- return if sent_via_pm?(m)
41
- unless m.user.nick.downcase == nick.downcase
37
+ def execute(m, nick)
38
+ return if Cinch::Toolbox.sent_via_private_message?(m) ||
39
+ m.user.nick.downcase == nick.downcase
42
40
  m.reply last_seen(m.channel.name, nick), true
43
41
  end
44
- end
45
42
 
46
- private
43
+ private
47
44
 
48
- def last_seen(channel, nick)
49
- @storage.data[channel] ||= {}
50
- activity = @storage.data[channel][nick.downcase]
45
+ def last_seen(channel, nick)
46
+ @storage.data[channel] ||= {}
47
+ activity = @storage.data[channel][nick.downcase]
51
48
 
52
- if activity.nil?
53
- "I've never seen #{nick} before, sorry!"
54
- else
55
- "I last saw #{activity.nick} #{activity.time.ago.to_words} " +
56
- "saying '#{activity.message}'"
49
+ if activity.nil?
50
+ "I've never seen #{nick} before, sorry!"
51
+ else
52
+ "I last saw #{activity.nick} #{activity.time.ago.to_words} " \
53
+ "saying '#{activity.message}'"
54
+ end
57
55
  end
58
56
  end
59
-
60
- def sent_via_pm?(m)
61
- return false unless m.channel.nil?
62
- m.reply 'You must use that command in the main channel.'
63
- true
64
- end
65
57
  end
66
58
  end
@@ -3,7 +3,7 @@ module Cinch
3
3
  module Plugins
4
4
  # Versioning Info
5
5
  class Seen
6
- VERSION = '1.0.3'
6
+ VERSION = '1.0.5'
7
7
  end
8
8
  end
9
9
  end
@@ -9,37 +9,36 @@ describe Cinch::Plugins::Seen do
9
9
  end
10
10
 
11
11
  it 'should allow users to see when users were last active' do
12
- get_replies(make_message(@bot, 'hello, world!', { :nick => 'foo', :channel => '#bar' }))
12
+ get_replies(make_message(@bot, 'hello, world!', { nick: 'foo', channel: '#bar' }))
13
13
  sleep 1 # time-lord hack
14
- msg = make_message(@bot, '!seen foo', { :nick => 'baz', :channel => '#bar' })
15
- get_replies(msg).last.text.
16
- should match(/baz: I last saw foo \d seconds? ago/)
14
+ msg = make_message(@bot, '!seen foo', { nick: 'baz', channel: '#bar' })
15
+ expect(get_replies(msg).last.text)
16
+ .to match(/baz: I last saw foo \d seconds? ago/)
17
17
  end
18
18
 
19
19
  it 'should allow show the last said thing' do
20
- get_replies(make_message(@bot, 'hello, world!', { :nick => 'foo', :channel => '#bar' }))
20
+ get_replies(make_message(@bot, 'hello, world!', { nick: 'foo', channel: '#bar' }))
21
21
  sleep 1 # time-lord hack
22
- msg = make_message(@bot, '!seen foo', { :nick => 'baz', :channel => '#bar' })
23
- get_replies(msg).last.text.
24
- should match(/saying 'hello, world!'/)
22
+ msg = make_message(@bot, '!seen foo', { nick: 'baz', channel: '#bar' })
23
+ expect(get_replies(msg).last.text)
24
+ .to match(/saying 'hello, world!'/)
25
25
  end
26
26
 
27
27
  it 'should not respond to a users seen request for themselves' do
28
- msg = make_message(@bot, '!seen foo', { :nick => 'foo', :channel => '#bar' })
29
- get_replies(msg).
30
- should be_empty
28
+ msg = make_message(@bot, '!seen foo', { nick: 'foo', channel: '#bar' })
29
+ expect(get_replies(msg)).to be_empty
31
30
  end
32
31
 
33
32
  it 'should inform users when a person has not been seen before' do
34
- msg = make_message(@bot, '!seen foo', { :channel => '#bar' })
35
- get_replies(msg).first.text.
36
- should == "test: I've never seen foo before, sorry!"
33
+ msg = make_message(@bot, '!seen foo', { channel: '#bar' })
34
+ expect(get_replies(msg).last.text)
35
+ .to eq('test: I\'ve never seen foo before, sorry!')
37
36
  end
38
37
 
39
38
  it 'should not let people make dumb jokes (or look for multiple people in one seen)' do
40
- get_replies(make_message(@bot, '!seen your mom today', { :channel => '#bar' })).
41
- should be_empty
42
- get_replies(make_message(@bot, '!seen archer pam lana', { :channel => '#bar' })).
43
- should be_empty
39
+ msg = get_replies(make_message(@bot, '!seen your mom today', { channel: '#bar' }))
40
+ expect(msg).to be_empty
41
+ msg = get_replies(make_message(@bot, '!seen archer pam lana', { channel: '#bar' }))
42
+ expect(msg).to be_empty
44
43
  end
45
44
  end
metadata CHANGED
@@ -1,160 +1,139 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cinch-seen
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
5
- prerelease:
4
+ version: 1.0.5
6
5
  platform: ruby
7
6
  authors:
8
7
  - Brian Haberer
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-02-20 00:00:00.000000000 Z
11
+ date: 2014-08-01 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rake
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ~>
20
18
  - !ruby/object:Gem::Version
21
- version: '0'
19
+ version: '10'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ~>
28
25
  - !ruby/object:Gem::Version
29
- version: '0'
26
+ version: '10'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rspec
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ~>
36
32
  - !ruby/object:Gem::Version
37
- version: '0'
33
+ version: '3'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - ~>
44
39
  - !ruby/object:Gem::Version
45
- version: '0'
40
+ version: '3'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: coveralls
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - ~>
52
46
  - !ruby/object:Gem::Version
53
- version: '0'
47
+ version: '0.7'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - ~>
60
53
  - !ruby/object:Gem::Version
61
- version: '0'
54
+ version: '0.7'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: cinch-test
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '0.1'
67
62
  - - ! '>='
68
63
  - !ruby/object:Gem::Version
69
- version: '0'
64
+ version: 0.1.0
70
65
  type: :development
71
66
  prerelease: false
72
67
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
78
- - !ruby/object:Gem::Dependency
79
- name: cinch
80
- requirement: !ruby/object:Gem::Requirement
81
- none: false
82
68
  requirements:
83
69
  - - ~>
84
70
  - !ruby/object:Gem::Version
85
- version: 2.0.12
86
- type: :runtime
87
- prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ~>
71
+ version: '0.1'
72
+ - - ! '>='
92
73
  - !ruby/object:Gem::Version
93
- version: 2.0.12
74
+ version: 0.1.0
94
75
  - !ruby/object:Gem::Dependency
95
- name: cinch-toolbox
76
+ name: cinch
96
77
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
78
  requirements:
99
79
  - - ~>
100
80
  - !ruby/object:Gem::Version
101
- version: 1.1.0
81
+ version: '2'
102
82
  type: :runtime
103
83
  prerelease: false
104
84
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
85
  requirements:
107
86
  - - ~>
108
87
  - !ruby/object:Gem::Version
109
- version: 1.1.0
88
+ version: '2'
110
89
  - !ruby/object:Gem::Dependency
111
90
  name: cinch-cooldown
112
91
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
92
  requirements:
115
93
  - - ~>
94
+ - !ruby/object:Gem::Version
95
+ version: '1.1'
96
+ - - ! '>='
116
97
  - !ruby/object:Gem::Version
117
98
  version: 1.1.1
118
99
  type: :runtime
119
100
  prerelease: false
120
101
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
102
  requirements:
123
103
  - - ~>
104
+ - !ruby/object:Gem::Version
105
+ version: '1.1'
106
+ - - ! '>='
124
107
  - !ruby/object:Gem::Version
125
108
  version: 1.1.1
126
109
  - !ruby/object:Gem::Dependency
127
110
  name: cinch-storage
128
111
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
112
  requirements:
131
113
  - - ~>
132
114
  - !ruby/object:Gem::Version
133
- version: 1.1.0
115
+ version: '1.1'
134
116
  type: :runtime
135
117
  prerelease: false
136
118
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
119
  requirements:
139
120
  - - ~>
140
121
  - !ruby/object:Gem::Version
141
- version: 1.1.0
122
+ version: '1.1'
142
123
  - !ruby/object:Gem::Dependency
143
- name: time-lord
124
+ name: cinch-toolbox
144
125
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
126
  requirements:
147
127
  - - ~>
148
128
  - !ruby/object:Gem::Version
149
- version: 1.0.1
129
+ version: '1.1'
150
130
  type: :runtime
151
131
  prerelease: false
152
132
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
133
  requirements:
155
134
  - - ~>
156
135
  - !ruby/object:Gem::Version
157
- version: 1.0.1
136
+ version: '1.1'
158
137
  description: Cinch Plugin to allow users to find out how long it's been since a user
159
138
  was active
160
139
  email:
@@ -178,29 +157,27 @@ files:
178
157
  homepage: https://github.com/bhaberer/cinch-seen
179
158
  licenses:
180
159
  - MIT
160
+ metadata: {}
181
161
  post_install_message:
182
162
  rdoc_options: []
183
163
  require_paths:
184
164
  - lib
185
165
  required_ruby_version: !ruby/object:Gem::Requirement
186
- none: false
187
166
  requirements:
188
167
  - - ! '>='
189
168
  - !ruby/object:Gem::Version
190
169
  version: '0'
191
170
  required_rubygems_version: !ruby/object:Gem::Requirement
192
- none: false
193
171
  requirements:
194
172
  - - ! '>='
195
173
  - !ruby/object:Gem::Version
196
174
  version: '0'
197
175
  requirements: []
198
176
  rubyforge_project:
199
- rubygems_version: 1.8.25
177
+ rubygems_version: 2.2.2
200
178
  signing_key:
201
- specification_version: 3
179
+ specification_version: 4
202
180
  summary: Cinch Plugin for Seen
203
181
  test_files:
204
182
  - spec/cinch-seen_spec.rb
205
183
  - spec/spec_helper.rb
206
- has_rdoc: