lita-karma 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: 6582ca790003f6b94e624a9b7d8fd81103ca5261
4
- data.tar.gz: 7017b65d8c0a75a412fe15856771f5889c24729d
3
+ metadata.gz: 4bde948c2cf3b2c372b3cad86e784ba89fd8bf7b
4
+ data.tar.gz: f52907190d12603f369272c9c4ca113188a2270d
5
5
  SHA512:
6
- metadata.gz: ddc01d87d46b225edd96e5b899db22f8f21b420aba0d402a2bea691cf7dc031465a471235d808e7102e5e5dda647f6c302320383b5248cf82d498bceac53f806
7
- data.tar.gz: 95020fb1b2c6fbfe7f83a089230af1bad2ed966470af53c08e72bc58724a5685f1a43baef08b3263faccf615be12ed6855e620bd7f24c987cae0bd87f659326b
6
+ metadata.gz: 1d81fd849e16e9f627ad271e253ac473e40094caf44b3ed535d1c245ba3ae6213424947bc8375b678e8967a844b109b3639ea7f7d05a5a2150ff6c26a719e4af
7
+ data.tar.gz: 093d8d92a400eed65a35ffaa84f0f3ef3515da74aedfeae3b6129243d92c00b18b4bb83a25ee632ae71bd37cc3df21b9fad08e9b5041e14fab7826d4d0fd9c5d
data/CHANGELOG.md ADDED
@@ -0,0 +1,16 @@
1
+ # Changelog
2
+
3
+ ## 0.0.3 (June 23, 2013)
4
+
5
+ * Added command help.
6
+ * When a user attempts to modify a term and is rate limited, Lita no longer also displays the term's current karma.
7
+
8
+ ## 0.0.2 (June 22, 2013)
9
+
10
+ * Added term linking.
11
+ * Added `karma modified` command.
12
+ * Added rate limiting via `config.handlers.karma.cooldown`.
13
+
14
+ ## 0.0.1 (June 15, 2003)
15
+
16
+ Initial release.
@@ -3,6 +3,21 @@ require "lita"
3
3
  module Lita
4
4
  module Handlers
5
5
  class Karma < Handler
6
+ def self.help
7
+ name = Lita.config.robot.mention_name || Lita.config.robot.name
8
+
9
+ {
10
+ "TERM++" => "Increments TERM by one.",
11
+ "TERM--" => "Decrements TERM by one.",
12
+ "TERM~~" => "Shows the current karma of TERM.",
13
+ "#{name}: karma best [N]" => "Lists the top N terms by karma. N defaults to 5.",
14
+ "#{name}: karma worst [N]" => "Lists the bottom N terms by karma. N defaults to 5.",
15
+ "#{name}: karma modified TERM" => "Lists the names of users who have upvoted or downvoted TERM.",
16
+ "#{name}: TERM1 += TERM2" => "Links TERM2 to TERM1. TERM1's karma will then be displayed as the sum of its own and TERM2's karma.",
17
+ "#{name}: TERM1 -= TERM2" => "Unlinks TERM2 from TERM1. TERM1's karma will no longer be displayed as the sum of its own and TERM2's karma.",
18
+ }
19
+ end
20
+
6
21
  route %r{([^\s]{2,})\+\+}, to: :increment
7
22
  route %r{([^\s]{2,})\-\-}, to: :decrement
8
23
  route %r{([^\s]{2,})~~}, to: :check
@@ -106,6 +121,7 @@ module Lita
106
121
  "You cannot modify #{term} for another #{ttl} second"
107
122
  cooldown_message << (ttl == 1 ? "." : "s.")
108
123
  reply cooldown_message
124
+ return
109
125
  else
110
126
  redis.zincrby("terms", delta, term)
111
127
  redis.sadd("modified:#{term}", user.id)
data/lita-karma.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "lita-karma"
3
- spec.version = "0.0.2"
3
+ spec.version = "0.0.3"
4
4
  spec.authors = ["Jimmy Cuadra"]
5
5
  spec.email = ["jimmy@jimmycuadra.com"]
6
6
  spec.description = %q{A Lita handler for tracking karma points for arbitrary terms.}
@@ -13,6 +13,12 @@ describe Lita::Handlers::Karma, lita: true do
13
13
  it { routes("#{robot.name}: foo += bar").to(:link) }
14
14
  it { routes("#{robot.name}: foo -= bar").to(:unlink) }
15
15
 
16
+ describe ".help" do
17
+ it "returns a hash of command help" do
18
+ expect(described_class.help).to be_a(Hash)
19
+ end
20
+ end
21
+
16
22
  describe "#increment" do
17
23
  it "increases the term's score by one and says the new score" do
18
24
  expect_reply("foo: 1")
@@ -34,6 +40,7 @@ describe Lita::Handlers::Karma, lita: true do
34
40
  Lita.config.handlers.karma.cooldown = 10
35
41
  send_test_message("foo++")
36
42
  expect_reply(/cannot modify foo/)
43
+ expect_no_reply(/foo:/)
37
44
  send_test_message("foo++")
38
45
  end
39
46
  end
@@ -59,6 +66,7 @@ describe Lita::Handlers::Karma, lita: true do
59
66
  Lita.config.handlers.karma.cooldown = 10
60
67
  send_test_message("foo--")
61
68
  expect_reply(/cannot modify foo/)
69
+ expect_no_reply(/foo:/)
62
70
  send_test_message("foo--")
63
71
  end
64
72
  end
@@ -136,7 +144,7 @@ MSG
136
144
  send_test_message("foo++ bar++ baz++")
137
145
  send_test_message("#{robot.name}: foo += bar")
138
146
  send_test_message("#{robot.name}: foo += baz")
139
- expect_reply("foo: 3 (1), linked to: baz: 1, bar: 1")
147
+ expect_reply(/foo: 3 \(1\), linked to: ba[rz]: 1, ba[rz]: 1/)
140
148
  send_test_message("foo~~")
141
149
  end
142
150
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lita-karma
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
  - Jimmy Cuadra
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-06-22 00:00:00.000000000 Z
11
+ date: 2013-06-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lita
@@ -103,6 +103,7 @@ extra_rdoc_files: []
103
103
  files:
104
104
  - .gitignore
105
105
  - .travis.yml
106
+ - CHANGELOG.md
106
107
  - Gemfile
107
108
  - README.md
108
109
  - Rakefile