lita-non-command-only 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/.travis.yml +8 -0
- data/Gemfile +3 -0
- data/README.md +18 -0
- data/Rakefile +6 -0
- data/lib/lita/extensions/non_command_only.rb +14 -0
- data/lib/lita-non-command-only.rb +7 -0
- data/lita-non-command-only.gemspec +26 -0
- data/locales/en.yml +4 -0
- data/spec/lita/extensions/non_command_only_spec.rb +32 -0
- data/spec/spec_helper.rb +20 -0
- metadata +172 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: a2556c61c44eb36c00818a95d59e2f1f78dd865d
|
4
|
+
data.tar.gz: f184991f2bcc8192161657d835e0ff798b6c6fa4
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: c44c4b781501a52fee80c9772423bcd5af6a0b1d3035282771b51039162055d9f511c57c93f3f7f8c3d16979d4b8e7af3ecbc32cffddaa4cfc143bd55a718b56
|
7
|
+
data.tar.gz: 0c46f98ac2bb043db8130ef5220bd8fdccd171f32915a8038088cc93fc45da94220eb3e1ef44b6d1d2eeb178b7fdc5e5defb4742daa2a4847732017c889a2a4d
|
data/.gitignore
ADDED
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# lita-non-command-only
|
2
|
+
|
3
|
+
[](https://travis-ci.org/ingoweiss/lita-non-command-only)
|
4
|
+
[](https://coveralls.io/r/ingoweiss/lita-non-command-only)
|
5
|
+
|
6
|
+
TODO: Add a description of the plugin.
|
7
|
+
|
8
|
+
## Installation
|
9
|
+
|
10
|
+
Add lita-non-command-only to your Lita plugin's gemspec:
|
11
|
+
|
12
|
+
``` ruby
|
13
|
+
spec.add_runtime_dependency "lita-non-command-only"
|
14
|
+
```
|
15
|
+
|
16
|
+
## Usage
|
17
|
+
|
18
|
+
TODO: Describe the plugin's features and how to use them.
|
data/Rakefile
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
module Lita
|
2
|
+
module Extensions
|
3
|
+
class NonCommandOnly
|
4
|
+
def self.call(payload)
|
5
|
+
if payload[:route].extensions[:non_command_only] and payload[:message].command?
|
6
|
+
return false
|
7
|
+
else
|
8
|
+
return true
|
9
|
+
end
|
10
|
+
end
|
11
|
+
Lita.register_hook(:validate_route, NonCommandOnly)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
Gem::Specification.new do |spec|
|
2
|
+
spec.name = "lita-non-command-only"
|
3
|
+
spec.version = "0.1.0"
|
4
|
+
spec.authors = ["Ingo Weiss"]
|
5
|
+
spec.email = ["ingo@ingoweiss.com"]
|
6
|
+
spec.description = "Adds :non_command_only option to routes which causes them to match only when not invoked as a command"
|
7
|
+
spec.summary = "Adds :non_command_only option to routes which causes them to match only when not invoked as a command"
|
8
|
+
spec.homepage = "https://github.com/ingoweiss/lita-non-command-only"
|
9
|
+
spec.license = "MIT"
|
10
|
+
spec.metadata = { "lita_plugin_type" => "extension" }
|
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
@@ -0,0 +1,32 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
class TestHandler < Lita::Handler
|
4
|
+
|
5
|
+
route /test/, :test, non_command_only: true
|
6
|
+
def test(response)
|
7
|
+
response.reply('test')
|
8
|
+
end
|
9
|
+
|
10
|
+
end
|
11
|
+
|
12
|
+
describe TestHandler, lita_handler: true do
|
13
|
+
|
14
|
+
before do
|
15
|
+
allow(Lita).to receive(:handlers).and_return([described_class])
|
16
|
+
end
|
17
|
+
|
18
|
+
it { is_expected.to route("test").to(:test) }
|
19
|
+
it { is_expected.to_not route_command("test").to(:test) }
|
20
|
+
|
21
|
+
it 'responds to message' do
|
22
|
+
send_message('test')
|
23
|
+
expect(replies.count).to eq(1)
|
24
|
+
expect(replies.last).to eq('test')
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'does not respond to command' do
|
28
|
+
send_command('test')
|
29
|
+
expect(replies).to be_empty
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,20 @@
|
|
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-non-command-only"
|
10
|
+
require "lita/rspec"
|
11
|
+
|
12
|
+
RSpec.configure do |config|
|
13
|
+
config.before do
|
14
|
+
registry.register_hook(:validate_route, Lita::Extensions::NonCommandOnly)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
# A compatibility mode is provided for older plugins upgrading from Lita 3. Since this plugin
|
19
|
+
# was generated with Lita 4, the compatibility mode should be left disabled.
|
20
|
+
Lita.version_3_compatibility_mode = false
|
metadata
ADDED
@@ -0,0 +1,172 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: lita-non-command-only
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Ingo Weiss
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-10-19 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: Adds :non_command_only option to routes which causes them to match only
|
126
|
+
when not invoked as a command
|
127
|
+
email:
|
128
|
+
- ingo@ingoweiss.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-non-command-only.rb
|
139
|
+
- lib/lita/extensions/non_command_only.rb
|
140
|
+
- lita-non-command-only.gemspec
|
141
|
+
- locales/en.yml
|
142
|
+
- spec/lita/extensions/non_command_only_spec.rb
|
143
|
+
- spec/spec_helper.rb
|
144
|
+
homepage: https://github.com/ingoweiss/lita-non-command-only
|
145
|
+
licenses:
|
146
|
+
- MIT
|
147
|
+
metadata:
|
148
|
+
lita_plugin_type: extension
|
149
|
+
post_install_message:
|
150
|
+
rdoc_options: []
|
151
|
+
require_paths:
|
152
|
+
- lib
|
153
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
154
|
+
requirements:
|
155
|
+
- - ">="
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '0'
|
158
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
159
|
+
requirements:
|
160
|
+
- - ">="
|
161
|
+
- !ruby/object:Gem::Version
|
162
|
+
version: '0'
|
163
|
+
requirements: []
|
164
|
+
rubyforge_project:
|
165
|
+
rubygems_version: 2.4.6
|
166
|
+
signing_key:
|
167
|
+
specification_version: 4
|
168
|
+
summary: Adds :non_command_only option to routes which causes them to match only when
|
169
|
+
not invoked as a command
|
170
|
+
test_files:
|
171
|
+
- spec/lita/extensions/non_command_only_spec.rb
|
172
|
+
- spec/spec_helper.rb
|