slappy 0.2.1 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
[![Gem Version](https://badge.fury.io/rb/slappy.svg)](https://badge.fury.io/rb/slappy)
|
4
|
-
[![Build Status](https://travis-ci.org/
|
5
|
-
[![Code Climate](https://codeclimate.com/
|
6
|
-
[![Test Coverage](https://codeclimate.com/
|
7
|
-
[![Dependency Status](https://gemnasium.com/
|
4
|
+
[![Build Status](https://travis-ci.org/wakaba260/slappy.svg?branch=master)](https://travis-ci.org/wakaba260/slappy)
|
5
|
+
[![Code Climate](https://codeclimate.com/github/wakaba260/slappy/badges/gpa.svg)](https://codeclimate.com/github/wakaba260/slappy)
|
6
|
+
[![Test Coverage](https://codeclimate.com/github/wakaba260/slappy/badges/coverage.svg)](https://codeclimate.com/github/wakaba260/slappy/coverage)
|
7
|
+
[![Dependency Status](https://gemnasium.com/wakaba260/slappy.svg)](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
|