lita-resistance 0.0.1
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 +18 -0
- data/.travis.yml +8 -0
- data/Gemfile +3 -0
- data/README.md +18 -0
- data/Rakefile +6 -0
- data/lib/lita-resistance.rb +12 -0
- data/lib/lita/handlers/resistance.rb +61 -0
- data/lita-resistance.gemspec +26 -0
- data/locales/en.yml +4 -0
- data/spec/lita/handlers/resistance_spec.rb +4 -0
- data/spec/spec_helper.rb +14 -0
- data/templates/.gitkeep +0 -0
- metadata +172 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 9c752cba3ed1d9eac06f48b269edef791bb88da3
|
4
|
+
data.tar.gz: 034812202b8841919cf2f55a6a4721aba07016f5
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 10c75c592404016a0d757867b339ce262ca40215cca86f1adb8932fa93fd7345d87ba382548513b19a7df75b3828b06cfe55445a1b7fd7195ae507197de3f42f
|
7
|
+
data.tar.gz: 1475a251ad19675e5cd3bbef4a320d5d0b5f124b8b4e290cc890c3202acdbe20f6f33dd9ddff3dea677c604053a5323be4d5b624dd6542738713b8609ab6fcc3
|
data/.gitignore
ADDED
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# lita-resistance
|
2
|
+
|
3
|
+
[](https://travis-ci.org/DeonHua/lita-resistance)
|
4
|
+
[](https://coveralls.io/r/DeonHua/lita-resistance)
|
5
|
+
|
6
|
+
Plays a game of resistance by assigning roles to users you mention in chat.
|
7
|
+
|
8
|
+
## Installation
|
9
|
+
|
10
|
+
Add lita-resistance to your Lita instance's Gemfile:
|
11
|
+
|
12
|
+
``` ruby
|
13
|
+
gem "lita-resistance"
|
14
|
+
```
|
15
|
+
|
16
|
+
## Usage
|
17
|
+
|
18
|
+
`lita resistance [users]` - Assigns the roles of spy/resistance to users you mention.
|
data/Rakefile
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/resistance"
|
8
|
+
|
9
|
+
Lita::Handlers::Resistance.template_root File.expand_path(
|
10
|
+
File.join("..", "..", "templates"),
|
11
|
+
__FILE__
|
12
|
+
)
|
@@ -0,0 +1,61 @@
|
|
1
|
+
module Lita
|
2
|
+
module Handlers
|
3
|
+
class Resistance < Handler
|
4
|
+
|
5
|
+
route(/resistance .+/, :play, command: true, help: {'resistance [users]' => 'Starts a game of resistance with the people you mention.'})
|
6
|
+
|
7
|
+
def play(response)
|
8
|
+
all_users = response.args.uniq
|
9
|
+
|
10
|
+
if all_users.length < 5
|
11
|
+
response.reply('You need at least 5 players for Resistance.')
|
12
|
+
return
|
13
|
+
elsif all_users.length > 10
|
14
|
+
response.reply('You cannot play a game of Resistance with more than 10 players.')
|
15
|
+
return
|
16
|
+
end
|
17
|
+
|
18
|
+
# Remove any "@" from usernames
|
19
|
+
all_users.map! {|username|
|
20
|
+
if username[0] == '@'
|
21
|
+
username = username[1, username.length-1]
|
22
|
+
else
|
23
|
+
username = username
|
24
|
+
end
|
25
|
+
}
|
26
|
+
|
27
|
+
# Ensure all people are users.
|
28
|
+
unknown_users = []
|
29
|
+
all_users.each do |username|
|
30
|
+
user = Lita::User.find_by_mention_name(username)
|
31
|
+
unknown_users.push(username) unless user
|
32
|
+
end
|
33
|
+
|
34
|
+
if unknown_users.any?
|
35
|
+
response.reply('The following are not users. Please check your spelling and try again.')
|
36
|
+
unknown_users.each do |user|
|
37
|
+
response.reply(user)
|
38
|
+
end and return
|
39
|
+
end
|
40
|
+
|
41
|
+
# Form teams
|
42
|
+
spies = all_users.sample((all_users.length+2)/3)
|
43
|
+
resistance = all_users - spies
|
44
|
+
|
45
|
+
spies.each do |member|
|
46
|
+
user = Lita::User.find_by_mention_name(member)
|
47
|
+
robot.send_message(Source.new(user: user), 'You are a member of the spies.')
|
48
|
+
end
|
49
|
+
|
50
|
+
resistance.each do |member|
|
51
|
+
user = Lita::User.find_by_mention_name(member)
|
52
|
+
robot.send_message(Source.new(user: user), 'You are a member of the resistance.')
|
53
|
+
end
|
54
|
+
|
55
|
+
response.reply('Roles have been assigned to the selected people!')
|
56
|
+
end
|
57
|
+
|
58
|
+
Lita.register_handler(self)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
Gem::Specification.new do |spec|
|
2
|
+
spec.name = "lita-resistance"
|
3
|
+
spec.version = "0.0.1"
|
4
|
+
spec.authors = ["Deon Hua"]
|
5
|
+
spec.email = ["deonhbci@gmail.com"]
|
6
|
+
spec.description = "Plays a game of resistance by assigning roles to users you mention in chat."
|
7
|
+
spec.summary = "Plays a game of resistance by assigning roles to users you mention in chat."
|
8
|
+
spec.homepage = "http://github.com/DeonHua/lita-resistance"
|
9
|
+
spec.license = "MIT"
|
10
|
+
spec.metadata = { "lita_plugin_type" => "handler" }
|
11
|
+
|
12
|
+
spec.files = `git ls-files`.split($/)
|
13
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
14
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
15
|
+
spec.require_paths = ["lib"]
|
16
|
+
|
17
|
+
spec.add_runtime_dependency "lita", ">= 4.6"
|
18
|
+
|
19
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
20
|
+
spec.add_development_dependency "pry-byebug"
|
21
|
+
spec.add_development_dependency "rake"
|
22
|
+
spec.add_development_dependency "rack-test"
|
23
|
+
spec.add_development_dependency "rspec", ">= 3.0.0"
|
24
|
+
spec.add_development_dependency "simplecov"
|
25
|
+
spec.add_development_dependency "coveralls"
|
26
|
+
end
|
data/locales/en.yml
ADDED
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
require "simplecov"
|
2
|
+
require "coveralls"
|
3
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
4
|
+
SimpleCov::Formatter::HTMLFormatter,
|
5
|
+
Coveralls::SimpleCov::Formatter
|
6
|
+
]
|
7
|
+
SimpleCov.start { add_filter "/spec/" }
|
8
|
+
|
9
|
+
require "lita-resistance"
|
10
|
+
require "lita/rspec"
|
11
|
+
|
12
|
+
# A compatibility mode is provided for older plugins upgrading from Lita 3. Since this plugin
|
13
|
+
# was generated with Lita 4, the compatibility mode should be left disabled.
|
14
|
+
Lita.version_3_compatibility_mode = false
|
data/templates/.gitkeep
ADDED
File without changes
|
metadata
ADDED
@@ -0,0 +1,172 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: lita-resistance
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Deon Hua
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-12-29 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
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: simplecov
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: coveralls
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
description: Plays a game of resistance by assigning roles to users you mention in
|
126
|
+
chat.
|
127
|
+
email:
|
128
|
+
- deonhbci@gmail.com
|
129
|
+
executables: []
|
130
|
+
extensions: []
|
131
|
+
extra_rdoc_files: []
|
132
|
+
files:
|
133
|
+
- ".gitignore"
|
134
|
+
- ".travis.yml"
|
135
|
+
- Gemfile
|
136
|
+
- README.md
|
137
|
+
- Rakefile
|
138
|
+
- lib/lita-resistance.rb
|
139
|
+
- lib/lita/handlers/resistance.rb
|
140
|
+
- lita-resistance.gemspec
|
141
|
+
- locales/en.yml
|
142
|
+
- spec/lita/handlers/resistance_spec.rb
|
143
|
+
- spec/spec_helper.rb
|
144
|
+
- templates/.gitkeep
|
145
|
+
homepage: http://github.com/DeonHua/lita-resistance
|
146
|
+
licenses:
|
147
|
+
- MIT
|
148
|
+
metadata:
|
149
|
+
lita_plugin_type: handler
|
150
|
+
post_install_message:
|
151
|
+
rdoc_options: []
|
152
|
+
require_paths:
|
153
|
+
- lib
|
154
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
155
|
+
requirements:
|
156
|
+
- - ">="
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '0'
|
159
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
160
|
+
requirements:
|
161
|
+
- - ">="
|
162
|
+
- !ruby/object:Gem::Version
|
163
|
+
version: '0'
|
164
|
+
requirements: []
|
165
|
+
rubyforge_project:
|
166
|
+
rubygems_version: 2.4.5.1
|
167
|
+
signing_key:
|
168
|
+
specification_version: 4
|
169
|
+
summary: Plays a game of resistance by assigning roles to users you mention in chat.
|
170
|
+
test_files:
|
171
|
+
- spec/lita/handlers/resistance_spec.rb
|
172
|
+
- spec/spec_helper.rb
|