lita-jarvis 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 +19 -0
- data/Rakefile +6 -0
- data/lib/lita/handlers/jarvis.rb +57 -0
- data/lib/lita-jarvis.rb +12 -0
- data/lita-jarvis.gemspec +24 -0
- data/locales/en.yml +4 -0
- data/spec/lita/handlers/jarvis_spec.rb +4 -0
- data/spec/spec_helper.rb +6 -0
- data/templates/.gitkeep +0 -0
- metadata +142 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 3a7e67aa23a517137b819b43c450bcc6035ced1b
|
4
|
+
data.tar.gz: 046578ddf7e3542b31f1db13e3428ee99dc3fd51
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 014abd62678cfe6068b70776f595afc6933c7500dd383809c7b621165f1188dad48885a87b0c3d48f30eeb57e95515f77c453bfe77e26e2ededa5869340d527b
|
7
|
+
data.tar.gz: bcbf0e64d2fab94c746e709273ad21161102beaa149aab94d8c21c96369f96e8438f6f6e37b563e4f44694b1049aa106ca6d994fc7dfd85cb2c8510c173ed058
|
data/.gitignore
ADDED
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
# lita-jarvis
|
2
|
+
|
3
|
+
TODO: Add a description of the plugin.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add lita-jarvis to your Lita instance's Gemfile:
|
8
|
+
|
9
|
+
``` ruby
|
10
|
+
gem "lita-jarvis"
|
11
|
+
```
|
12
|
+
|
13
|
+
## Configuration
|
14
|
+
|
15
|
+
TODO: Describe any configuration attributes the plugin exposes.
|
16
|
+
|
17
|
+
## Usage
|
18
|
+
|
19
|
+
TODO: Describe the plugin's features and how to use them.
|
data/Rakefile
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
module Lita
|
2
|
+
module Handlers
|
3
|
+
class Jarvis < Handler
|
4
|
+
|
5
|
+
route(/([hello|evening|morning])\sjarvis/i, :greet, command: false)
|
6
|
+
|
7
|
+
def greet(response)
|
8
|
+
name = response.user.name
|
9
|
+
greetings = ["Welcome back #{name}","Hello #{name}"]
|
10
|
+
answer = greetings.sample
|
11
|
+
response.reply("#{answer}")
|
12
|
+
end
|
13
|
+
|
14
|
+
|
15
|
+
on(:unhandled_message) do |payload|
|
16
|
+
handle_unhandled(payload: payload)
|
17
|
+
end
|
18
|
+
|
19
|
+
def handle_unhandled(payload:)
|
20
|
+
message = payload[:message]
|
21
|
+
if should_reply?(message: message)
|
22
|
+
target = reply_target(message: message)
|
23
|
+
robot.send_message(target, format_reply(
|
24
|
+
message: message))
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def should_reply?(message:)
|
29
|
+
message.command? && message.match(/^@#{robot.name}/)
|
30
|
+
end
|
31
|
+
|
32
|
+
def reply_target(message:)
|
33
|
+
if message.source.private_message
|
34
|
+
Source.new(user: message.user, private_message: true)
|
35
|
+
else
|
36
|
+
Source.new(room: message.source.room)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def format_reply(message:)
|
41
|
+
name = message.user
|
42
|
+
messages = ["As always, @#{name}, a great pleasure watching you work.",
|
43
|
+
"I've taken the liberty of preparing a help function for you.",
|
44
|
+
"I'm afraid I don't understand your request @#{name}",
|
45
|
+
"I'm not currently programmed to do that @#{name}",
|
46
|
+
"That command failed. Perhaps I will run a self diagnostic",
|
47
|
+
"I feel this may be a cliche, but 'Does not compute'"]
|
48
|
+
messages.sample
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
|
54
|
+
|
55
|
+
Lita.register_handler(Jarvis)
|
56
|
+
end
|
57
|
+
end
|
data/lib/lita-jarvis.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/jarvis"
|
8
|
+
|
9
|
+
Lita::Handlers::Jarvis.template_root File.expand_path(
|
10
|
+
File.join("..", "..", "templates"),
|
11
|
+
__FILE__
|
12
|
+
)
|
data/lita-jarvis.gemspec
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
Gem::Specification.new do |spec|
|
2
|
+
spec.name = "lita-jarvis"
|
3
|
+
spec.version = "0.1.0"
|
4
|
+
spec.authors = ["Mark Nicholls"]
|
5
|
+
spec.email = ["nichollsm77@gmail.com"]
|
6
|
+
spec.description = "Make Lita a little more like J.a.r.v.i.s."
|
7
|
+
spec.summary = ""
|
8
|
+
spec.homepage = ""
|
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.4"
|
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
|
+
end
|
data/locales/en.yml
ADDED
data/spec/spec_helper.rb
ADDED
data/templates/.gitkeep
ADDED
File without changes
|
metadata
ADDED
@@ -0,0 +1,142 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: lita-jarvis
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Mark Nicholls
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-08-14 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.4'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '4.4'
|
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: Make Lita a little more like J.a.r.v.i.s.
|
98
|
+
email:
|
99
|
+
- nichollsm77@gmail.com
|
100
|
+
executables: []
|
101
|
+
extensions: []
|
102
|
+
extra_rdoc_files: []
|
103
|
+
files:
|
104
|
+
- ".gitignore"
|
105
|
+
- Gemfile
|
106
|
+
- README.md
|
107
|
+
- Rakefile
|
108
|
+
- lib/lita-jarvis.rb
|
109
|
+
- lib/lita/handlers/jarvis.rb
|
110
|
+
- lita-jarvis.gemspec
|
111
|
+
- locales/en.yml
|
112
|
+
- spec/lita/handlers/jarvis_spec.rb
|
113
|
+
- spec/spec_helper.rb
|
114
|
+
- templates/.gitkeep
|
115
|
+
homepage: ''
|
116
|
+
licenses:
|
117
|
+
- MIT
|
118
|
+
metadata:
|
119
|
+
lita_plugin_type: handler
|
120
|
+
post_install_message:
|
121
|
+
rdoc_options: []
|
122
|
+
require_paths:
|
123
|
+
- lib
|
124
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
125
|
+
requirements:
|
126
|
+
- - ">="
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
version: '0'
|
129
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
130
|
+
requirements:
|
131
|
+
- - ">="
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '0'
|
134
|
+
requirements: []
|
135
|
+
rubyforge_project:
|
136
|
+
rubygems_version: 2.2.3
|
137
|
+
signing_key:
|
138
|
+
specification_version: 4
|
139
|
+
summary: ''
|
140
|
+
test_files:
|
141
|
+
- spec/lita/handlers/jarvis_spec.rb
|
142
|
+
- spec/spec_helper.rb
|