slatan 0.1.0 → 0.2.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/.gitignore +1 -1
- data/README.md +1 -1
- data/Rakefile +0 -25
- data/exe/slatan +50 -0
- data/lib/slatan/ear.rb +5 -6
- data/lib/slatan/version.rb +1 -1
- metadata +23 -23
- data/bin/console +0 -14
- data/bin/setup +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e7f7d769ed65311b91c6da56e8db22d40668a2ac
|
4
|
+
data.tar.gz: ea30b6db0b219d66701599b44691c66253cad6a0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 10e0f76eb5143263d396c1aeba959a3ec2c8f99900bfdd09c322a89f8c9592f8ff96fce343b3335ac8af70f8a16e675957dcac913645cc137a82b185fd93b4d7
|
7
|
+
data.tar.gz: 8394bfdd0ab07b4fe447888a59367063e30458ae060a38194b30e7590a323544c4370314f4e15dab4546018d480fdcf5c8d6bc513bb87823bb8062f76e3e7ee2
|
data/.gitignore
CHANGED
data/README.md
CHANGED
data/Rakefile
CHANGED
@@ -1,26 +1 @@
|
|
1
1
|
require "bundler/gem_tasks"
|
2
|
-
require 'erb'
|
3
|
-
require 'active_support/core_ext/object'
|
4
|
-
require 'slatan/utils/string_ex'
|
5
|
-
|
6
|
-
using Slatan::Utils::StringEx
|
7
|
-
namespace :slatan do
|
8
|
-
desc "Kill slatan daemon process."
|
9
|
-
task :stop do
|
10
|
-
path = ENV['SLATAN_PID_FILE_PATH'].presence || '/tmp/slatan.pid'
|
11
|
-
sh "kill `cat #{path}`"
|
12
|
-
end
|
13
|
-
|
14
|
-
desc "Generate event subscriber of slack message."
|
15
|
-
task :generate, [:file_path] do |task, args|
|
16
|
-
file_name = File.basename(args.file_path, '.*')
|
17
|
-
class_name = file_name.camelize
|
18
|
-
dir_path = File.dirname(args.file_path)
|
19
|
-
File.open('./lib/slatan/template/concern.rb.erb') do |file|
|
20
|
-
erb = ERB.new(file.read).result(binding)
|
21
|
-
File.open(File.join(dir_path, "#{file_name}.rb"), 'w') do |file|
|
22
|
-
file << erb
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
data/exe/slatan
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'fileutils'
|
4
|
+
require 'erb'
|
5
|
+
require 'rake'
|
6
|
+
require 'active_support/core_ext/object'
|
7
|
+
require 'slatan/utils/string_ex'
|
8
|
+
|
9
|
+
using Slatan::Utils::StringEx
|
10
|
+
|
11
|
+
def generate(path)
|
12
|
+
if path.nil?
|
13
|
+
puts 'Usage: slatan generate </path/to/your/preference/subscriber/name>'
|
14
|
+
exit 0
|
15
|
+
end
|
16
|
+
|
17
|
+
file_name = File.basename(path, '.*')
|
18
|
+
class_name = file_name.camelize
|
19
|
+
dir_path = File.dirname(path)
|
20
|
+
FileUtils.mkdir_p dir_path
|
21
|
+
File.open('./lib/slatan/template/concern.rb.erb') do |file|
|
22
|
+
erb = ERB.new(file.read).result(binding)
|
23
|
+
File.open(File.join(dir_path, "#{file_name}.rb"), 'w') do |file|
|
24
|
+
file << erb
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def kill
|
30
|
+
pid_file_path = ENV['SLATAN_PID_FILE_PATH'].presence || '/tmp/slatan.pid'
|
31
|
+
if !FileTest.exist? pid_file_path
|
32
|
+
puts "'#{pid_file_path}' is not exist."
|
33
|
+
exit 0
|
34
|
+
end
|
35
|
+
sh "kill `cat #{pid_file_path}`"
|
36
|
+
puts 'killed.'
|
37
|
+
end
|
38
|
+
|
39
|
+
if $*[0] == 'generate'
|
40
|
+
generate($*[1])
|
41
|
+
elsif $*[0] == 'kill'
|
42
|
+
kill
|
43
|
+
else
|
44
|
+
puts 'Usage: slatan <COMMAND>'
|
45
|
+
puts '=======COMMAND========'
|
46
|
+
puts 'generate </path/to/your/preference/subscriber/name>: Generate subscriber class file.'
|
47
|
+
puts 'kill: kill daemon process of slatan.'
|
48
|
+
exit 0
|
49
|
+
end
|
50
|
+
|
data/lib/slatan/ear.rb
CHANGED
@@ -8,16 +8,15 @@ module Slatan
|
|
8
8
|
class << self
|
9
9
|
## register subscriber
|
10
10
|
# @param concern subscriber
|
11
|
-
# @param
|
12
|
-
|
13
|
-
|
14
|
-
@concerns << [concern, options[:cond]]
|
11
|
+
# @param block<option> condition for dispatching event
|
12
|
+
def register(concern, &block)
|
13
|
+
@concerns << [concern, block]
|
15
14
|
end
|
16
15
|
|
17
16
|
## publish to subscribers
|
18
17
|
def hear(msg)
|
19
|
-
@concerns.each do |concern,
|
20
|
-
if
|
18
|
+
@concerns.each do |concern, block|
|
19
|
+
if block.blank? || block.call(msg)
|
21
20
|
concern.hear(msg)
|
22
21
|
end
|
23
22
|
end
|
data/lib/slatan/version.rb
CHANGED
metadata
CHANGED
@@ -1,116 +1,116 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: slatan
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kudohamu
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-12-
|
11
|
+
date: 2015-12-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: eventmachine
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: faye-websocket
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: activesupport
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - '>='
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: bundler
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ~>
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '1.10'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ~>
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '1.10'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rake
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ~>
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '10.0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ~>
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '10.0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rspec
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - '>='
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - '>='
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
description: Gem to create bot for Slack easily and flexibly.
|
98
98
|
email:
|
99
99
|
- kudohamu91086[a]gmail.com
|
100
|
-
executables:
|
100
|
+
executables:
|
101
|
+
- slatan
|
101
102
|
extensions: []
|
102
103
|
extra_rdoc_files: []
|
103
104
|
files:
|
104
|
-
-
|
105
|
-
-
|
106
|
-
-
|
105
|
+
- .gitignore
|
106
|
+
- .rspec
|
107
|
+
- .travis.yml
|
107
108
|
- CODE_OF_CONDUCT.md
|
108
109
|
- Gemfile
|
109
110
|
- LICENSE.txt
|
110
111
|
- README.md
|
111
112
|
- Rakefile
|
112
|
-
-
|
113
|
-
- bin/setup
|
113
|
+
- exe/slatan
|
114
114
|
- lib/slatan.rb
|
115
115
|
- lib/slatan/affiliation.rb
|
116
116
|
- lib/slatan/affiliation/channels.rb
|
@@ -155,17 +155,17 @@ require_paths:
|
|
155
155
|
- lib
|
156
156
|
required_ruby_version: !ruby/object:Gem::Requirement
|
157
157
|
requirements:
|
158
|
-
- -
|
158
|
+
- - '>='
|
159
159
|
- !ruby/object:Gem::Version
|
160
160
|
version: '0'
|
161
161
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
162
162
|
requirements:
|
163
|
-
- -
|
163
|
+
- - '>='
|
164
164
|
- !ruby/object:Gem::Version
|
165
165
|
version: '0'
|
166
166
|
requirements: []
|
167
167
|
rubyforge_project:
|
168
|
-
rubygems_version: 2.
|
168
|
+
rubygems_version: 2.0.14
|
169
169
|
signing_key:
|
170
170
|
specification_version: 4
|
171
171
|
summary: bot module for Slack
|
data/bin/console
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require "bundler/setup"
|
4
|
-
require "slatan"
|
5
|
-
|
6
|
-
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
-
# with your gem easier. You can also use a different console, if you like.
|
8
|
-
|
9
|
-
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
-
# require "pry"
|
11
|
-
# Pry.start
|
12
|
-
|
13
|
-
require "irb"
|
14
|
-
IRB.start
|