slappy 0.2.1 → 0.3.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 +4 -4
- data/.travis.yml +2 -2
- data/LICENSE.txt +1 -1
- data/README.md +52 -43
- data/bin/slappy +6 -0
- data/lib/slappy/cli.rb +19 -0
- data/lib/slappy/commands/generator.rb +74 -0
- data/lib/slappy/commands/run.rb +41 -0
- data/lib/slappy/configuration/robot.rb +15 -0
- data/lib/slappy/configuration.rb +15 -6
- data/lib/slappy/version.rb +1 -1
- data/lib/slappy.rb +7 -0
- data/slappy.gemspec +6 -4
- data/templates/example.rb +33 -0
- data/templates/slappy_config.rb +40 -0
- metadata +56 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1f6569438c773c309cbc6946bb9b25dcb60dc59d
|
4
|
+
data.tar.gz: 31f3eeee45abc61e2ca093d9ae7fbab63e5e055a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 27ff356c54218c17816ab23e147c364dabfced2f567fe3e9cc91255ae60ede45582d2a19ab4fc848e4b7787e20eacd7ee13022181c9f173df07094178792dc5a
|
7
|
+
data.tar.gz: 609792027661024892179ce92f058c491fae2cb8bb6b05c57b06010ec0f047c79a8b7c9bc9ebe39cba8a17b9fb56ad62c833f4b6cb0f8c1b7ce0c83ef5752025
|
data/.travis.yml
CHANGED
@@ -8,7 +8,7 @@ before_install: gem install bundler -v "~> 1.10"
|
|
8
8
|
bundler_args: "--jobs=2"
|
9
9
|
cache: bundler
|
10
10
|
before_script:
|
11
|
-
- export CODECLIMATE_REPO_TOKEN=
|
11
|
+
- export CODECLIMATE_REPO_TOKEN=61e6275a25daf92ab6587d0606862139da60909212bef5f285b0ff14cbe69546
|
12
12
|
script:
|
13
13
|
- ruby --version
|
14
14
|
- bundle exec rspec
|
@@ -17,4 +17,4 @@ branches:
|
|
17
17
|
- master
|
18
18
|
notifications:
|
19
19
|
slack:
|
20
|
-
secure:
|
20
|
+
secure: ocTnQAT5/a3gu93ZZ0vinihMT6/NG3fp4pV2li9WSJRuImFwSTI2eAmjlOZbk/SaZIdj2alGIB2HqMH6sHFheCiUSuAzf+8aaGvBwFh//x+2uibXccoyZLIUoDb5OMHCZSilkQgx8MtsGsPCr+7ryvclxIL+3YJz2NjTpwPPoLsXUNXXzaJtYHknb62BCGGTC5wz8J5JOVKloDXVz4F2CMZqX2ylM/DxFTl5LI94kT/7pv7KfelCHsm6R0F4ALaJT0zumx+t/QAlezzlvRqu81L76yPlEgdahydY77yd7xVqUOEhvNEEiriHMR/+4xYMEieVvERlDLsk4kvywX6YbGId/5tDaQvRIkHIN/9XeKnt/DyMbBVugC0MtZGbNREtD2a9u85V0Zzv/ufBva3FHtbWsHXBtETrb3ty9yrplDkqg/H9vOfISfnSYxOk8F56DMj0h6QSaocCk/9hk31C2I66ZvmmJC5LkSNN77KFT0u32nSFAi5Maj3FhGGW2eXg/jWqBjjyYqUQtjeQguqhtPna5QSpmY17a6l7LAujoQ/romkiEIW+Qwd2tPv53DVe5q1fWNTSrr5LVhkKjkATAWlKLv8oJOj86/EcaoNCZFS7mufq16hDMW9UJbEsuqguRCZKR49FC/U80NWwx+jrkzHY41Meh6yeYd5JQyODb9E=
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
# Slappy
|
2
2
|
|
3
3
|
[](https://badge.fury.io/rb/slappy)
|
4
|
-
[](https://travis-ci.org/wakaba260/slappy)
|
5
|
+
[](https://codeclimate.com/github/wakaba260/slappy)
|
6
|
+
[](https://codeclimate.com/github/wakaba260/slappy/coverage)
|
7
|
+
[](https://gemnasium.com/wakaba260/slappy)
|
8
8
|
|
9
9
|
This gem support to make slack bot, inspire from [hubot](https://github.com/github/hubot) and [sinatra](https://github.com/sinatra/sinatra).
|
10
10
|
|
@@ -18,24 +18,45 @@ Slack API Token generate from [official page](https://api.slack.com/web).
|
|
18
18
|
|
19
19
|
### 2. Set environment variable to Slack API Token
|
20
20
|
|
21
|
-
Slappy references `ENV['SLACK_TOKEN']`
|
21
|
+
Slappy references `ENV['SLACK_TOKEN']` default.
|
22
22
|
|
23
|
-
|
23
|
+
### 3. Run generator
|
24
24
|
|
25
|
-
|
25
|
+
Execute then command to generate project:
|
26
26
|
|
27
|
-
```ruby
|
28
|
-
require 'slappy'
|
29
|
-
require 'slappy/dsl'
|
30
27
|
|
28
|
+
$ slappy new project-name
|
29
|
+
|
30
|
+
|
31
|
+
If you want to use current directory, execute then command:
|
32
|
+
|
33
|
+
$ slappy new
|
34
|
+
|
35
|
+
(If you use bundler, add `bundle exec` prefix)
|
36
|
+
|
37
|
+
### 4. Write code
|
38
|
+
|
39
|
+
Create ruby file to under `project-name/slappy-scripts`, and written code.
|
40
|
+
|
41
|
+
Example:
|
42
|
+
|
43
|
+
```ruby
|
31
44
|
# catch pattern
|
32
45
|
hear '^hello, slappy!' do |event|
|
33
46
|
say 'hello!!', channel: event.channel #=> respond message to channel
|
34
47
|
end
|
35
|
-
|
36
|
-
start
|
37
48
|
```
|
38
49
|
|
50
|
+
There scripts not share scopes with other scripts.
|
51
|
+
|
52
|
+
### 5. Slappy start
|
53
|
+
|
54
|
+
Execute then command in project root directory.
|
55
|
+
|
56
|
+
$ slappy start
|
57
|
+
|
58
|
+
(Stop: Input Ctrl+c)
|
59
|
+
|
39
60
|
## Installation
|
40
61
|
|
41
62
|
Add this line to your application's Gemfile:
|
@@ -70,9 +91,10 @@ There configrations effect on send message to slack when use `say` method and sh
|
|
70
91
|
require 'slappy'
|
71
92
|
|
72
93
|
Slappy.configure do |config|
|
73
|
-
config.
|
74
|
-
config.
|
75
|
-
config.
|
94
|
+
config.token = 'foobar'
|
95
|
+
config.robot.username = 'slappy'
|
96
|
+
config.robot.channel = '#general'
|
97
|
+
config.robot.icon_emoji = ':slappy:'
|
76
98
|
end
|
77
99
|
|
78
100
|
Slappy.say 'hello!' #=> username: slappy, channel: '#general', icon_emoji: ':slappy:'
|
@@ -81,16 +103,19 @@ Slappy.say 'hello!' #=> username: slappy, channel: '#general', icon_emoji: ':sla
|
|
81
103
|
#### Configuration Parameters
|
82
104
|
|
83
105
|
```
|
84
|
-
token
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
106
|
+
token - default: ENV['SLACK_TOKEN']
|
107
|
+
scripts_dir_path - default : 'slappy-scripts'
|
108
|
+
|
109
|
+
robot.botname - not effect now
|
110
|
+
robot.username - default: 'slappy'
|
111
|
+
robot.icon_emoji - default: nil
|
112
|
+
robot.channel - default: '#general'
|
113
|
+
robot.icon_url - default: nil
|
90
114
|
```
|
91
115
|
|
92
|
-
###
|
93
|
-
|
116
|
+
### Basic Usage
|
117
|
+
|
118
|
+
If you not want execute `slappy start` command, written by (require `'slappy/dsl'` use DSL):
|
94
119
|
|
95
120
|
```ruby
|
96
121
|
require 'slappy'
|
@@ -123,37 +148,21 @@ Slappy.hear /^foobar/ do
|
|
123
148
|
puts 'slappppy!'
|
124
149
|
end
|
125
150
|
|
126
|
-
Slappy.start
|
127
|
-
```
|
128
|
-
|
129
|
-
#### Use Slappy DSL
|
130
|
-
|
131
|
-
Please require `'slappy/dsl'`, if you want short code
|
132
|
-
|
133
|
-
```ruby
|
134
|
-
require 'slappy'
|
135
|
-
require 'slappy/dsl'
|
136
|
-
|
137
|
-
# Omit 'Slappy' keyward, when delegator required
|
138
|
-
hear 'foo' do
|
139
|
-
say 'slappy!'
|
140
|
-
end
|
141
|
-
|
142
|
-
start
|
151
|
+
Slappy.start #=> Start slappy process
|
143
152
|
```
|
144
153
|
|
145
154
|
## Feature
|
146
155
|
|
156
|
+
- [ ] Execute in shell (because testable).
|
147
157
|
- [ ] Support private channel
|
148
158
|
- [ ] Support Schedule event (cron like)
|
149
|
-
- [ ] Generate template settings
|
150
|
-
- [ ] CLI commands
|
151
159
|
- [ ] Add bot name
|
152
160
|
- [ ] client#respond (hubot#respond like)
|
161
|
+
- [ ] Split chat adapter
|
153
162
|
|
154
163
|
## Contributing
|
155
164
|
|
156
|
-
1. Fork it ( http://github.com/
|
165
|
+
1. Fork it ( http://github.com/wakaba260/slappy/fork )
|
157
166
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
158
167
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
159
168
|
4. Push to the branch (`git push origin my-new-feature`)
|
data/bin/slappy
ADDED
data/lib/slappy/cli.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
module Slappy
|
2
|
+
class CLI < Thor
|
3
|
+
desc 'start', 'slappy start'
|
4
|
+
def start
|
5
|
+
build_command(:run).call
|
6
|
+
end
|
7
|
+
|
8
|
+
desc 'new [DIR_NAME]', 'create new slappy project'
|
9
|
+
def new(dir_name = nil)
|
10
|
+
build_command(:generator).call(dir_name)
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def build_command(command_name)
|
16
|
+
"Slappy::Commands::#{command_name.to_s.camelize}".constantize.new
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
module Slappy
|
2
|
+
module Commands
|
3
|
+
class Generator
|
4
|
+
def call(dir_name)
|
5
|
+
dir_name = './' if dir_name.nil?
|
6
|
+
dir_name += '/' if !dir_name.nil? && dir_name.split('').last != '/'
|
7
|
+
@target_dir = dir_name
|
8
|
+
|
9
|
+
mkdir target_dir unless @target_dir.nil?
|
10
|
+
mkdir scripts_dir_path
|
11
|
+
|
12
|
+
copy template_script_path, scripts_dir_path
|
13
|
+
copy config_file_path, target_dir
|
14
|
+
end
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def target_dir
|
19
|
+
File.expand_path @target_dir, Dir.pwd
|
20
|
+
end
|
21
|
+
|
22
|
+
def gem_root_dir
|
23
|
+
File.expand_path '../../../../', __FILE__
|
24
|
+
end
|
25
|
+
|
26
|
+
def template_dir
|
27
|
+
File.expand_path 'templates', gem_root_dir
|
28
|
+
end
|
29
|
+
|
30
|
+
def scripts_dir_path
|
31
|
+
File.expand_path Slappy.configuration.scripts_dir_path, target_dir
|
32
|
+
end
|
33
|
+
|
34
|
+
def config_file_path
|
35
|
+
File.expand_path Slappy.configuration.config_file_path, template_dir
|
36
|
+
end
|
37
|
+
|
38
|
+
def template_script_path
|
39
|
+
File.expand_path 'example.rb', template_dir
|
40
|
+
end
|
41
|
+
|
42
|
+
def mkdir(path)
|
43
|
+
generate(path) { FileUtils.mkdir path }
|
44
|
+
end
|
45
|
+
|
46
|
+
def copy(src, dest)
|
47
|
+
path = File.expand_path File.basename(src), dest
|
48
|
+
generate(path) { FileUtils.cp src, dest }
|
49
|
+
end
|
50
|
+
|
51
|
+
def status
|
52
|
+
@messages = {
|
53
|
+
create: TermColor.parse('<green>create</green>'),
|
54
|
+
exist: TermColor.parse('<red>exist</red>')
|
55
|
+
}
|
56
|
+
end
|
57
|
+
|
58
|
+
def generate(target, &block)
|
59
|
+
if FileTest.exist? target
|
60
|
+
result = status[:exist]
|
61
|
+
else
|
62
|
+
block.call
|
63
|
+
result = status[:create]
|
64
|
+
end
|
65
|
+
|
66
|
+
put_result result, Pathname.new(target).relative_path_from(Pathname.new(Dir.pwd))
|
67
|
+
end
|
68
|
+
|
69
|
+
def put_result(result, target)
|
70
|
+
puts "\t#{result}\t#{target}"
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module Slappy
|
2
|
+
module Commands
|
3
|
+
class Run
|
4
|
+
class InvalidPathError < StandardError; end
|
5
|
+
|
6
|
+
def call
|
7
|
+
load_config
|
8
|
+
load_scripts
|
9
|
+
Slappy.start
|
10
|
+
rescue InvalidPathError => e
|
11
|
+
puts TermColor.parse "<red>Error:</red> #{e.message}"
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def load_config
|
17
|
+
file = File.expand_path Slappy.configuration.config_file_path, Dir.pwd
|
18
|
+
begin
|
19
|
+
require file
|
20
|
+
rescue LoadError
|
21
|
+
raise InvalidPathError.new, "file #{file} not found"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def load_scripts
|
26
|
+
script_dir = Slappy.configuration.scripts_dir_path
|
27
|
+
|
28
|
+
unless FileTest.directory? script_dir
|
29
|
+
message = "directory #{script_dir} not found"
|
30
|
+
fail InvalidPathError.new, message
|
31
|
+
end
|
32
|
+
|
33
|
+
script_dir = "./#{script_dir}" unless script_dir.match(%r{"./"})
|
34
|
+
Dir.glob("#{script_dir}/**/*.rb").each do |file|
|
35
|
+
block = proc { require file }
|
36
|
+
block.call
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
data/lib/slappy/configuration.rb
CHANGED
@@ -1,21 +1,30 @@
|
|
1
1
|
module Slappy
|
2
2
|
class Configuration
|
3
|
-
attr_accessor :
|
3
|
+
attr_accessor :robot, :token, :scripts_dir_path
|
4
4
|
|
5
|
-
def
|
6
|
-
@
|
5
|
+
def initialize
|
6
|
+
@robot = Robot.new
|
7
7
|
end
|
8
8
|
|
9
9
|
def token
|
10
10
|
@token || ENV['SLACK_TOKEN']
|
11
11
|
end
|
12
12
|
|
13
|
-
def
|
14
|
-
|
13
|
+
def config_file_path
|
14
|
+
'./slappy_config.rb'
|
15
|
+
end
|
16
|
+
|
17
|
+
def scripts_dir_path
|
18
|
+
@scripts_dir_path || './slappy-scripts'
|
15
19
|
end
|
16
20
|
|
17
21
|
def send_params
|
18
|
-
{
|
22
|
+
{
|
23
|
+
username: robot.username,
|
24
|
+
icon_emoji: robot.icon_emoji,
|
25
|
+
channel: robot.channel,
|
26
|
+
icon_url: robot.icon_url
|
27
|
+
}
|
19
28
|
end
|
20
29
|
end
|
21
30
|
end
|
data/lib/slappy/version.rb
CHANGED
data/lib/slappy.rb
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
require 'forwardable'
|
2
|
+
require 'active_support/core_ext/string/inflections'
|
2
3
|
require 'hashie'
|
3
4
|
require 'slack'
|
5
|
+
require 'termcolor'
|
6
|
+
require 'thor'
|
4
7
|
|
5
8
|
module Slappy
|
6
9
|
class << self
|
@@ -35,8 +38,12 @@ module Slappy
|
|
35
38
|
end
|
36
39
|
end
|
37
40
|
|
41
|
+
require 'slappy/cli'
|
38
42
|
require 'slappy/client'
|
39
43
|
require 'slappy/configuration'
|
44
|
+
require 'slappy/configuration/robot'
|
45
|
+
require 'slappy/commands/generator.rb'
|
46
|
+
require 'slappy/commands/run.rb'
|
40
47
|
require 'slappy/event'
|
41
48
|
require 'slappy/listener'
|
42
49
|
require 'slappy/version'
|
data/slappy.gemspec
CHANGED
@@ -6,12 +6,12 @@ require 'slappy/version'
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "slappy"
|
8
8
|
spec.version = Slappy::VERSION
|
9
|
-
spec.authors = ["
|
10
|
-
spec.email = ["
|
9
|
+
spec.authors = ["wakaba260"]
|
10
|
+
spec.email = ["wakaba260@aiming-inc.com"]
|
11
11
|
|
12
12
|
spec.summary = %q{Simple Slack Bot Framework}
|
13
13
|
spec.description = %q{Simple Slack Bot Framework. Use Slack RealTime API and Web API.}
|
14
|
-
spec.homepage = "https://github.com/
|
14
|
+
spec.homepage = "https://github.com/wakaba260/slappy"
|
15
15
|
spec.license = "MIT"
|
16
16
|
|
17
17
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
@@ -20,6 +20,9 @@ Gem::Specification.new do |spec|
|
|
20
20
|
|
21
21
|
spec.add_dependency 'slack-api'
|
22
22
|
spec.add_dependency 'hashie'
|
23
|
+
spec.add_dependency 'thor'
|
24
|
+
spec.add_dependency "activesupport"
|
25
|
+
spec.add_dependency "termcolor"
|
23
26
|
spec.add_development_dependency "bundler", "~> 1.10"
|
24
27
|
spec.add_development_dependency "rake", "~> 10.0"
|
25
28
|
spec.add_development_dependency "rspec"
|
@@ -29,5 +32,4 @@ Gem::Specification.new do |spec|
|
|
29
32
|
spec.add_development_dependency "guard-rubocop"
|
30
33
|
spec.add_development_dependency "codeclimate-test-reporter"
|
31
34
|
spec.add_development_dependency "timecop"
|
32
|
-
spec.add_development_dependency "activesupport"
|
33
35
|
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# Slappy Examples
|
2
|
+
#
|
3
|
+
# # called when start up
|
4
|
+
# hello do
|
5
|
+
# puts 'successfly connected'
|
6
|
+
# end
|
7
|
+
#
|
8
|
+
#
|
9
|
+
# # called when match message
|
10
|
+
# hear 'foo' do
|
11
|
+
# puts 'foo'
|
12
|
+
# end
|
13
|
+
#
|
14
|
+
#
|
15
|
+
# # use regexp in string literal
|
16
|
+
# hear 'bar (.*)' do |event|
|
17
|
+
# puts event.matches[1] #=> Event#matches return MatchData object
|
18
|
+
# end
|
19
|
+
#
|
20
|
+
#
|
21
|
+
# # event object is slack event JSON (convert to Hashie::Mash)
|
22
|
+
# hear '^bar (.*)' do |event|
|
23
|
+
# puts event.channel #=> channel id
|
24
|
+
# say 'slappy!', channel: event.channel #=> to received message channel
|
25
|
+
# say 'slappy!', channel: '#general'
|
26
|
+
# say 'slappy!', username: 'slappy!', icon_emoji: ':slappy:'
|
27
|
+
# end
|
28
|
+
#
|
29
|
+
#
|
30
|
+
# # use regexp literal
|
31
|
+
# hear /^foobar/ do
|
32
|
+
# say 'slappppy!'
|
33
|
+
# end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'slappy/dsl'
|
2
|
+
|
3
|
+
Slappy.configure do |config|
|
4
|
+
## Slappy Settings
|
5
|
+
#
|
6
|
+
# token:
|
7
|
+
# Slack API Token
|
8
|
+
config.token = ENV['SLACK_TOKEN']
|
9
|
+
|
10
|
+
# scripts_path_dir:
|
11
|
+
# Slappy scripts directory.
|
12
|
+
# Slappy load scripts in this directory.
|
13
|
+
config.scripts_dir_path = 'slappy-scripts'
|
14
|
+
|
15
|
+
## Default parameters
|
16
|
+
#
|
17
|
+
# There parameters use in say method when send to Slack.
|
18
|
+
# Settings specified here will take precedence over those in method option
|
19
|
+
# And other parameters give to method option if you want.
|
20
|
+
#
|
21
|
+
# Official API document:
|
22
|
+
# https://api.slack.com/methods/chat.postMessage
|
23
|
+
|
24
|
+
# username:
|
25
|
+
# Name of bot.
|
26
|
+
config.robot.username = 'slappy'
|
27
|
+
|
28
|
+
# channel:
|
29
|
+
# Channel, private group, or IM channel to send message to.
|
30
|
+
# Can be an encoded ID, or a name. See below for more details.
|
31
|
+
config.robot.channel = nil
|
32
|
+
|
33
|
+
# icon_emoji:
|
34
|
+
# emoji to use as the icon for this message. Overrides icon_url.
|
35
|
+
config.robot.icon_emoji = nil
|
36
|
+
|
37
|
+
# icon_url:
|
38
|
+
# URL to an image to use as the icon for this message
|
39
|
+
config.robot.icon_url = nil
|
40
|
+
end
|
metadata
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: slappy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- wakaba260
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
@@ -38,6 +38,48 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: thor
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
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: activesupport
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
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: termcolor
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
41
83
|
- !ruby/object:Gem::Dependency
|
42
84
|
name: bundler
|
43
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -164,24 +206,11 @@ dependencies:
|
|
164
206
|
- - ">="
|
165
207
|
- !ruby/object:Gem::Version
|
166
208
|
version: '0'
|
167
|
-
- !ruby/object:Gem::Dependency
|
168
|
-
name: activesupport
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
170
|
-
requirements:
|
171
|
-
- - ">="
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: '0'
|
174
|
-
type: :development
|
175
|
-
prerelease: false
|
176
|
-
version_requirements: !ruby/object:Gem::Requirement
|
177
|
-
requirements:
|
178
|
-
- - ">="
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: '0'
|
181
209
|
description: Simple Slack Bot Framework. Use Slack RealTime API and Web API.
|
182
210
|
email:
|
183
|
-
-
|
184
|
-
executables:
|
211
|
+
- wakaba260@aiming-inc.com
|
212
|
+
executables:
|
213
|
+
- slappy
|
185
214
|
extensions: []
|
186
215
|
extra_rdoc_files: []
|
187
216
|
files:
|
@@ -197,15 +226,22 @@ files:
|
|
197
226
|
- LICENSE.txt
|
198
227
|
- README.md
|
199
228
|
- Rakefile
|
229
|
+
- bin/slappy
|
200
230
|
- lib/slappy.rb
|
231
|
+
- lib/slappy/cli.rb
|
201
232
|
- lib/slappy/client.rb
|
233
|
+
- lib/slappy/commands/generator.rb
|
234
|
+
- lib/slappy/commands/run.rb
|
202
235
|
- lib/slappy/configuration.rb
|
236
|
+
- lib/slappy/configuration/robot.rb
|
203
237
|
- lib/slappy/dsl.rb
|
204
238
|
- lib/slappy/event.rb
|
205
239
|
- lib/slappy/listener.rb
|
206
240
|
- lib/slappy/version.rb
|
207
241
|
- slappy.gemspec
|
208
|
-
|
242
|
+
- templates/example.rb
|
243
|
+
- templates/slappy_config.rb
|
244
|
+
homepage: https://github.com/wakaba260/slappy
|
209
245
|
licenses:
|
210
246
|
- MIT
|
211
247
|
metadata: {}
|
@@ -225,7 +261,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
225
261
|
version: '0'
|
226
262
|
requirements: []
|
227
263
|
rubyforge_project:
|
228
|
-
rubygems_version: 2.4.
|
264
|
+
rubygems_version: 2.4.8
|
229
265
|
signing_key:
|
230
266
|
specification_version: 4
|
231
267
|
summary: Simple Slack Bot Framework
|