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.
@@ -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
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec
@@ -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
+ ```
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task default: :spec
@@ -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
@@ -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
@@ -0,0 +1,4 @@
1
+ en:
2
+ lita:
3
+ handlers:
4
+ whoami:
@@ -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
@@ -0,0 +1,6 @@
1
+ require "lita-whoami"
2
+ require "lita/rspec"
3
+
4
+ # A compatibility mode is provided for older plugins upgrading from Lita 3. Since this plugin
5
+ # was generated with Lita 4, the compatibility mode should be left disabled.
6
+ Lita.version_3_compatibility_mode = false
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