cinch-cooldown 1.1.3 → 1.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: 98b072029f3902df8be334e446530cbdcd58c5e4
4
+ data.tar.gz: 69a12eaa5e1a0f7b8b66f8e3a8bae6bb187f0f90
5
+ SHA512:
6
+ metadata.gz: 564dea1e24dec252b267ef6f9c9027b864cba5b8ae3d1bc51a1f679c54f950d81b3469755e10489e99bea240a8cebe54e90eafd57ebc561a0e96c82d8cac48ff
7
+ data.tar.gz: e1da9ffc614f9b6ac83b0002f23d73b4c9913d82b8fdc4e13a701bb40430dee3b7ae01689b63abf428bac3ec2cd28616c69c1f3b81dbadd3cf29871f97eab55a
data/.travis.yml CHANGED
@@ -1,4 +1,23 @@
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
data/README.md CHANGED
@@ -37,7 +37,7 @@ that the user timer will be greater than the global timer.
37
37
  :user => 20 } }
38
38
 
39
39
  2. If you are using this with my plugins, things should just work. However if you want to use
40
- this with your own plugins, yoiu need to add a `require cinch-cooldown` to the top of said
40
+ this with your own plugins, you need to add a `require cinch/cooldown` to the top of said
41
41
  plugin, and an `enforce_cooldown` to the plugin after the `include Cinch::Plugin` line.
42
42
 
43
43
  ## Contributing
@@ -8,21 +8,20 @@ Gem::Specification.new do |gem|
8
8
  gem.version = Cinch::Cooldowns::VERSION
9
9
  gem.authors = ['Brian Haberer']
10
10
  gem.email = ['bhaberer@gmail.com']
11
- gem.description = %q{This gem allows you to set a shared timer across plugins that are configured to respect it.}
12
- gem.summary = %q{Global Cooldown tracker for Cinch Plugins}
11
+ gem.description = %q(This gem allows you to set a shared timer across plugins that are configured to respect it.)
12
+ gem.summary = %q(Global Cooldown tracker for Cinch Plugins)
13
13
  gem.homepage = 'https://github.com/bhaberer/cinch-cooldown'
14
14
 
15
15
  gem.files = `git ls-files`.split($/)
16
- gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
- 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)\//)
18
18
  gem.require_paths = ['lib']
19
19
  gem.license = 'MIT'
20
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 'time-lord', '~> 1.0.1'
27
- gem.add_dependency 'cinch', '~> 2.0.12'
21
+ gem.add_development_dependency 'rake', '~> 10'
22
+ gem.add_development_dependency 'rspec', '~> 3'
23
+ gem.add_development_dependency 'coveralls', '~> 0.7'
24
+ gem.add_development_dependency 'cinch-test', '~> 0.0', '>= 0.0.2'
25
+ gem.add_dependency 'cinch', '~> 2'
26
+ gem.add_dependency 'time-lord', '~> 1.0', '>= 1.0.1'
28
27
  end
@@ -2,6 +2,6 @@
2
2
  module Cinch
3
3
  # Versioning info
4
4
  module Cooldowns
5
- VERSION = '1.1.3'
5
+ VERSION = '1.1.5'
6
6
  end
7
7
  end
@@ -1,6 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  module Cinch
3
3
  module Plugin
4
+ # Class for managing the cooldown objects.
4
5
  module Cooldowns
5
6
  include Cinch::Plugin
6
7
 
@@ -92,9 +93,7 @@ module Cinch
92
93
  def self.clean_expired_cooldowns(channel)
93
94
  return unless @cooldowns.key?(channel)
94
95
  @cooldowns[channel].each_pair do |key, cooldown|
95
- if cooldown.cooled_down?
96
- @cooldowns[channel].delete(key)
97
- end
96
+ @cooldowns[channel].delete(key) if cooldown.cooled_down?
98
97
  end
99
98
  end
100
99
 
@@ -5,8 +5,9 @@ module Cinch
5
5
  # Add the pre hook to all messages triggered
6
6
  module ClassMethods
7
7
  def enforce_cooldown
8
- hook(:pre, for: [:match],
9
- method: ->(m){ Cooldowns.finished?(m, shared[:cooldown], @bot) })
8
+ hook(:pre,
9
+ for: [:match],
10
+ method: ->(m) { Cooldowns.finished?(m, shared[:cooldown], @bot) })
10
11
  end
11
12
  end
12
13
  end
@@ -34,39 +34,39 @@ describe Cinch::Cooldowns do
34
34
  it 'should not trigger cooldowns on private messages' do
35
35
  bot = bot_for_cooldowns(10)
36
36
  get_replies(make_message(bot, "!thing"))
37
- get_replies(make_message(bot, "!thing")).first.text.
38
- should match "OMG"
37
+ expect(get_replies(make_message(bot, "!thing")).first.text)
38
+ .to match('OMG')
39
39
  end
40
40
 
41
41
  it 'should allow plugins to mandate a global cooldown between responses in channel' do
42
42
  bot = bot_for_cooldowns(10)
43
43
  get_replies(make_message(bot, "!thing", channel: '#foo'))
44
- get_replies(make_message(bot, "!thing", channel: '#foo')).first.text.
45
- should match(/Sorry, cooldown is in effect: \d+ seconds from now before/)
44
+ expect(get_replies(make_message(bot, "!thing", channel: '#foo')).first.text)
45
+ .to match(/Sorry, cooldown is in effect: \d+ seconds from now before/)
46
46
  end
47
47
 
48
48
  it 'should allow plugins allow responses after the global cooldown' do
49
49
  bot = bot_for_cooldowns(5, 5)
50
50
  get_replies(make_message(bot, "!thing", channel: '#foo'))
51
51
  sleep 7
52
- get_replies(make_message(bot, "!thing", channel: '#foo')).first.text.
53
- should == 'OMG'
52
+ expect(get_replies(make_message(bot, "!thing", channel: '#foo')).first.text)
53
+ .to eq('OMG')
54
54
  end
55
55
 
56
56
  it 'should allow plugins to mandate a minimum time between responses in channel' do
57
57
  bot = bot_for_cooldowns(5, 10)
58
58
  get_replies(make_message(bot, "!thing", channel: '#foo'))
59
59
  sleep 7
60
- get_replies(make_message(bot, "!thing", channel: '#foo')).first.text.
61
- should match(/Sorry, cooldown is in effect: \d+ seconds from now before you can use/)
60
+ expect(get_replies(make_message(bot, "!thing", channel: '#foo')).first.text)
61
+ .to match(/Sorry, cooldown is in effect: \d+ seconds from now before you can use/)
62
62
  end
63
63
 
64
64
  it 'should allow plugins to mandate a minimum time between responses in channel' do
65
65
  bot = bot_for_cooldowns(5, 10)
66
66
  get_replies(make_message(bot, "!thing", channel: '#foo'))
67
67
  sleep 12
68
- get_replies(make_message(bot, "!thing", channel: '#foo')).first.text.
69
- should == 'OMG'
68
+ expect(get_replies(make_message(bot, "!thing", channel: '#foo')).first.text)
69
+ .to eq('OMG')
70
70
  end
71
71
 
72
72
  it 'should aplugins to mandate a minimum time between responses in channel' do
@@ -76,30 +76,30 @@ describe Cinch::Cooldowns do
76
76
  sleep 6
77
77
  get_replies(make_message(bot, "!thing", channel: '#foo', nick: 'george'))
78
78
  sleep 5
79
- get_replies(make_message(bot, "!thing", channel: '#foo')).first.text.
80
- should == 'OMG'
79
+ expect(get_replies(make_message(bot, "!thing", channel: '#foo')).first.text)
80
+ .to eq('OMG')
81
81
  end
82
82
 
83
83
  it 'should not trigger if the config for the current channel does not exist' do
84
84
  bot = bot_for_cooldowns(5, 10)
85
85
  get_replies(make_message(bot, "!thing", channel: '#bar'))
86
- get_replies(make_message(bot, "!thing", channel: '#bar')).first.text.
87
- should == 'OMG'
86
+ expect(get_replies(make_message(bot, "!thing", channel: '#bar')).first.text)
87
+ .to eq('OMG')
88
88
  end
89
89
 
90
90
  it 'should trigger for other users if the global cooldown is finished' do
91
91
  bot = bot_for_cooldowns(0, 20)
92
- get_replies(make_message(bot, "!thing", channel: '#foo', nick: 'test1')).first.text.
93
- should == 'OMG'
92
+ expect(get_replies(make_message(bot, "!thing", channel: '#foo', nick: 'test1')).first.text)
93
+ .to eq('OMG')
94
94
  sleep 1
95
- get_replies(make_message(bot, "!thing", channel: '#foo', nick: 'test2')).first.text.
96
- should == 'OMG'
95
+ expect(get_replies(make_message(bot, "!thing", channel: '#foo', nick: 'test2')).first.text)
96
+ .to eq('OMG')
97
97
  end
98
98
  it 'should trigger for other users if the global cooldown is finished' do
99
99
  bot = bot_for_cooldowns(10, 20)
100
- get_replies(make_message(bot, "!thing", channel: '#foo', nick: 'test1')).first.text.
101
- should == 'OMG'
102
- get_replies(make_message(bot, "!thing", channel: '#foo', nick: 'test2')).first.text.
103
- should_not == 'OMG'
100
+ expect(get_replies(make_message(bot, "!thing", channel: '#foo', nick: 'test1')).first.text)
101
+ .to eq('OMG')
102
+ expect(get_replies(make_message(bot, "!thing", channel: '#foo', nick: 'test2')).first.text)
103
+ .not_to eq('OMG')
104
104
  end
105
105
  end
metadata CHANGED
@@ -1,112 +1,111 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cinch-cooldown
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
5
- prerelease:
4
+ version: 1.1.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-28 00:00:00.000000000 Z
11
+ date: 2014-07-31 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.0'
67
62
  - - ! '>='
68
63
  - !ruby/object:Gem::Version
69
- version: '0'
64
+ version: 0.0.2
70
65
  type: :development
71
66
  prerelease: false
72
67
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
68
  requirements:
69
+ - - ~>
70
+ - !ruby/object:Gem::Version
71
+ version: '0.0'
75
72
  - - ! '>='
76
73
  - !ruby/object:Gem::Version
77
- version: '0'
74
+ version: 0.0.2
78
75
  - !ruby/object:Gem::Dependency
79
- name: time-lord
76
+ name: cinch
80
77
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
78
  requirements:
83
79
  - - ~>
84
80
  - !ruby/object:Gem::Version
85
- version: 1.0.1
81
+ version: '2'
86
82
  type: :runtime
87
83
  prerelease: false
88
84
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
85
  requirements:
91
86
  - - ~>
92
87
  - !ruby/object:Gem::Version
93
- version: 1.0.1
88
+ version: '2'
94
89
  - !ruby/object:Gem::Dependency
95
- name: cinch
90
+ name: time-lord
96
91
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
92
  requirements:
99
93
  - - ~>
100
94
  - !ruby/object:Gem::Version
101
- version: 2.0.12
95
+ version: '1.0'
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: 1.0.1
102
99
  type: :runtime
103
100
  prerelease: false
104
101
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
102
  requirements:
107
103
  - - ~>
108
104
  - !ruby/object:Gem::Version
109
- version: 2.0.12
105
+ version: '1.0'
106
+ - - ! '>='
107
+ - !ruby/object:Gem::Version
108
+ version: 1.0.1
110
109
  description: This gem allows you to set a shared timer across plugins that are configured
111
110
  to respect it.
112
111
  email:
@@ -132,29 +131,27 @@ files:
132
131
  homepage: https://github.com/bhaberer/cinch-cooldown
133
132
  licenses:
134
133
  - MIT
134
+ metadata: {}
135
135
  post_install_message:
136
136
  rdoc_options: []
137
137
  require_paths:
138
138
  - lib
139
139
  required_ruby_version: !ruby/object:Gem::Requirement
140
- none: false
141
140
  requirements:
142
141
  - - ! '>='
143
142
  - !ruby/object:Gem::Version
144
143
  version: '0'
145
144
  required_rubygems_version: !ruby/object:Gem::Requirement
146
- none: false
147
145
  requirements:
148
146
  - - ! '>='
149
147
  - !ruby/object:Gem::Version
150
148
  version: '0'
151
149
  requirements: []
152
150
  rubyforge_project:
153
- rubygems_version: 1.8.25
151
+ rubygems_version: 2.2.2
154
152
  signing_key:
155
- specification_version: 3
153
+ specification_version: 4
156
154
  summary: Global Cooldown tracker for Cinch Plugins
157
155
  test_files:
158
156
  - spec/cinch-cooldown_spec.rb
159
157
  - spec/spec_helper.rb
160
- has_rdoc: