lita-whoami 0.1.0
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 +7 -0
- data/.gitignore +17 -0
- data/Gemfile +3 -0
- data/README.md +21 -0
- data/Rakefile +6 -0
- data/lib/lita-whoami.rb +12 -0
- data/lib/lita/handlers/whoami.rb +37 -0
- data/lita-whoami.gemspec +23 -0
- data/locales/en.yml +4 -0
- data/spec/lita/handlers/whoami_spec.rb +20 -0
- data/spec/spec_helper.rb +6 -0
- data/templates/.gitkeep +0 -0
- metadata +141 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 03e98d83ed943ad29eb9e8c3408b6e27481beed4
|
4
|
+
data.tar.gz: b67cdf73a16382c6dfce75a714f1564c7be7aec2
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 0952a436c4730d10f18927210e7b479290e90dfaf4eb6e4ca4f37e06c7e9a4aee23d76de61d0e8be51ebb76d8506c8f0fe837ccfb6abd55d74621f10ae05f966
|
7
|
+
data.tar.gz: 497440c2d64db27f7d2cab0f73130196d1032f5b20f375fc0646867ba8e012468c08bb640241f955df8665cdb49e971c957453c22f5282a97380ccedd93325c7
|
data/.gitignore
ADDED
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# lita-whoami
|
2
|
+
|
3
|
+
This handler allows you to tell Lita who people are
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add lita-whoami to your Lita instance's Gemfile:
|
8
|
+
|
9
|
+
``` ruby
|
10
|
+
gem "lita-whoami"
|
11
|
+
```
|
12
|
+
|
13
|
+
## Usage
|
14
|
+
|
15
|
+
```
|
16
|
+
lita taylor is a bad programmer
|
17
|
+
```
|
18
|
+
|
19
|
+
```
|
20
|
+
lita who is taylor
|
21
|
+
```
|
data/Rakefile
ADDED
data/lib/lita-whoami.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
require "lita"
|
2
|
+
|
3
|
+
Lita.load_locales Dir[File.expand_path(
|
4
|
+
File.join("..", "..", "locales", "*.yml"), __FILE__
|
5
|
+
)]
|
6
|
+
|
7
|
+
require "lita/handlers/whoami"
|
8
|
+
|
9
|
+
Lita::Handlers::Whoami.template_root File.expand_path(
|
10
|
+
File.join("..", "..", "templates"),
|
11
|
+
__FILE__
|
12
|
+
)
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Lita
|
2
|
+
module Handlers
|
3
|
+
class Whoami < Handler
|
4
|
+
REDIS_KEY = 'lita-whoami'
|
5
|
+
|
6
|
+
route(/(\w+) is (.+)/, :assign_person, command: true, help: {
|
7
|
+
"SOMEONE is SOMETHING" => "Tell everbot that someone is something."
|
8
|
+
})
|
9
|
+
|
10
|
+
route(/who ?is (\w+)/, :describe_person, command: true, help: {
|
11
|
+
"SOMEONE is SOMETHING" => "Tell everbot that someone is something."
|
12
|
+
})
|
13
|
+
|
14
|
+
def key_for_person name
|
15
|
+
"#{REDIS_KEY}:#{name}"
|
16
|
+
end
|
17
|
+
|
18
|
+
def assign_person(chat)
|
19
|
+
name, thing = chat.matches[0]
|
20
|
+
|
21
|
+
redis.rpush key_for_person(name), thing
|
22
|
+
|
23
|
+
chat.reply "Okay, #{name} is #{thing}!"
|
24
|
+
end
|
25
|
+
|
26
|
+
def describe_person(chat)
|
27
|
+
name = chat.matches[0][0]
|
28
|
+
|
29
|
+
descriptors = redis.lrange(key_for_person(name), 0, -1).uniq
|
30
|
+
|
31
|
+
chat.reply "#{name} is #{descriptors.join ', '}"
|
32
|
+
end
|
33
|
+
|
34
|
+
Lita.register_handler(self)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
data/lita-whoami.gemspec
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
Gem::Specification.new do |spec|
|
2
|
+
spec.name = "lita-whoami"
|
3
|
+
spec.version = "0.1.0"
|
4
|
+
spec.authors = ["Taylor Lapeyre"]
|
5
|
+
spec.email = ["taylorlapeyre@gmail.com"]
|
6
|
+
spec.description = "Allows you to tell Lita who people are."
|
7
|
+
spec.summary = "Allows you to tell Lita who people are."
|
8
|
+
spec.homepage = "http://github.com/taylorlapeyre/lita-whoami"
|
9
|
+
spec.metadata = { "lita_plugin_type" => "handler" }
|
10
|
+
|
11
|
+
spec.files = `git ls-files`.split($/)
|
12
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
13
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
14
|
+
spec.require_paths = ["lib"]
|
15
|
+
|
16
|
+
spec.add_runtime_dependency "lita", ">= 4.6"
|
17
|
+
|
18
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
19
|
+
spec.add_development_dependency "pry-byebug"
|
20
|
+
spec.add_development_dependency "rake"
|
21
|
+
spec.add_development_dependency "rack-test"
|
22
|
+
spec.add_development_dependency "rspec", ">= 3.0.0"
|
23
|
+
end
|
data/locales/en.yml
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
require "rspec/expectations"
|
3
|
+
require "rspec/mocks"
|
4
|
+
|
5
|
+
describe Lita::Handlers::Whoami, lita_handler: true do
|
6
|
+
it "will assign a person a descriptior." do
|
7
|
+
send_command("taylor is a bad programmer")
|
8
|
+
expect(replies).to_not be_empty
|
9
|
+
expect(replies.last).to eq "Okay, taylor is a bad programmer!"
|
10
|
+
end
|
11
|
+
|
12
|
+
it "Can tell you what people are." do
|
13
|
+
send_command("taylor is a bad programmer")
|
14
|
+
expect(replies).to_not be_empty
|
15
|
+
expect(replies.last).to eq "Okay, taylor is a bad programmer!"
|
16
|
+
|
17
|
+
send_command("who is taylor")
|
18
|
+
expect(replies.last).to eq "taylor is a bad programmer"
|
19
|
+
end
|
20
|
+
end
|
data/spec/spec_helper.rb
ADDED
data/templates/.gitkeep
ADDED
File without changes
|
metadata
ADDED
@@ -0,0 +1,141 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: lita-whoami
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Taylor Lapeyre
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-11-18 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: lita
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '4.6'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '4.6'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.3'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.3'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: pry-byebug
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rack-test
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rspec
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 3.0.0
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 3.0.0
|
97
|
+
description: Allows you to tell Lita who people are.
|
98
|
+
email:
|
99
|
+
- taylorlapeyre@gmail.com
|
100
|
+
executables: []
|
101
|
+
extensions: []
|
102
|
+
extra_rdoc_files: []
|
103
|
+
files:
|
104
|
+
- ".gitignore"
|
105
|
+
- Gemfile
|
106
|
+
- README.md
|
107
|
+
- Rakefile
|
108
|
+
- lib/lita-whoami.rb
|
109
|
+
- lib/lita/handlers/whoami.rb
|
110
|
+
- lita-whoami.gemspec
|
111
|
+
- locales/en.yml
|
112
|
+
- spec/lita/handlers/whoami_spec.rb
|
113
|
+
- spec/spec_helper.rb
|
114
|
+
- templates/.gitkeep
|
115
|
+
homepage: http://github.com/taylorlapeyre/lita-whoami
|
116
|
+
licenses: []
|
117
|
+
metadata:
|
118
|
+
lita_plugin_type: handler
|
119
|
+
post_install_message:
|
120
|
+
rdoc_options: []
|
121
|
+
require_paths:
|
122
|
+
- lib
|
123
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
124
|
+
requirements:
|
125
|
+
- - ">="
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: '0'
|
128
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - ">="
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '0'
|
133
|
+
requirements: []
|
134
|
+
rubyforge_project:
|
135
|
+
rubygems_version: 2.4.5.1
|
136
|
+
signing_key:
|
137
|
+
specification_version: 4
|
138
|
+
summary: Allows you to tell Lita who people are.
|
139
|
+
test_files:
|
140
|
+
- spec/lita/handlers/whoami_spec.rb
|
141
|
+
- spec/spec_helper.rb
|