grape-slack-bot 1.0.5 → 1.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/CHANGELOG.md +8 -0
- data/README.md +1 -0
- data/grape-slack-bot.gemspec +5 -2
- data/lib/slack_bot/dev_console.rb +18 -5
- data/lib/slack_bot.rb +1 -1
- data/spec/slack_bot/dev_console_spec.rb +88 -0
- metadata +49 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f84c93d79a89045d58deda55e64382c8ef74daf4975e0f47732b480c08619020
|
4
|
+
data.tar.gz: 6f3e952d9a8f85e48de8f045aab1c35f0d69e9ac39b8328c240f38c77c578ad0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 458e378569349642ecf2433fd573d3ad40ef69def84a6253206ff5bcef2b9d983c24b0d1e53a30887de7a8203dcf733ba868bbbbc9b4e215ded1f71487c3dd12
|
7
|
+
data.tar.gz: dd5ef3106d1a1255cb788bef313d905ca986133bc5b3b3e53166c70b9727f8d3b996cce595f724e80b9d08ec4338ca91fbedcf135945878c01a61d32872375ef
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -133,6 +133,7 @@ References:
|
|
133
133
|
Create `app/api/slack_bot_api.rb`, it will contain bot configuration and endpoints setup:
|
134
134
|
|
135
135
|
```ruby
|
136
|
+
SlackBot::DevConsole.logger = Rails.logger
|
136
137
|
SlackBot::DevConsole.enabled = Rails.env.development?
|
137
138
|
SlackBot::Config.configure do
|
138
139
|
callback_storage Rails.cache
|
data/grape-slack-bot.gemspec
CHANGED
@@ -29,7 +29,7 @@ Gem::Specification.new do |gem|
|
|
29
29
|
gem.files = Dir.glob("lib/**/*.rb") + Dir.glob("bin/**/*") + root_files
|
30
30
|
gem.test_files = Dir.glob("spec/**/*_spec.rb")
|
31
31
|
|
32
|
-
gem.required_ruby_version = ">=
|
32
|
+
gem.required_ruby_version = ">= 2.5.0"
|
33
33
|
gem.require_paths = ["lib"]
|
34
34
|
|
35
35
|
gem.add_runtime_dependency 'rack', '> 2'
|
@@ -38,6 +38,9 @@ Gem::Specification.new do |gem|
|
|
38
38
|
gem.add_runtime_dependency 'activesupport', '> 5'
|
39
39
|
|
40
40
|
gem.add_development_dependency 'bundler', '~> 2'
|
41
|
-
gem.add_development_dependency 'pry
|
41
|
+
gem.add_development_dependency 'pry', '~> 0.14'
|
42
42
|
gem.add_development_dependency 'rspec', '~> 3'
|
43
|
+
gem.add_development_dependency 'webmock', '~> 3'
|
44
|
+
gem.add_development_dependency 'simplecov', '~> 0.21'
|
45
|
+
gem.add_development_dependency 'simplecov-cobertura', '~> 2'
|
43
46
|
end
|
@@ -1,4 +1,9 @@
|
|
1
1
|
module SlackBot
|
2
|
+
class Logger
|
3
|
+
def info(*args, **kwargs)
|
4
|
+
puts args, kwargs
|
5
|
+
end
|
6
|
+
end
|
2
7
|
class DevConsole
|
3
8
|
def self.enabled=(value)
|
4
9
|
@enabled = value
|
@@ -8,24 +13,32 @@ module SlackBot
|
|
8
13
|
@enabled
|
9
14
|
end
|
10
15
|
|
11
|
-
def self.
|
16
|
+
def self.logger=(value)
|
17
|
+
@logger = value
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.logger
|
21
|
+
@logger ||= Logger.new
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.log(message = nil, &block)
|
12
25
|
return unless enabled?
|
13
26
|
|
14
27
|
message = yield if block_given?
|
15
|
-
|
28
|
+
logger.info(message)
|
16
29
|
end
|
17
30
|
|
18
|
-
def self.log_input(message = nil, &)
|
31
|
+
def self.log_input(message = nil, &block)
|
19
32
|
message = yield if block_given?
|
20
33
|
log(">>> #{message}")
|
21
34
|
end
|
22
35
|
|
23
|
-
def self.log_output(message = nil, &)
|
36
|
+
def self.log_output(message = nil, &block)
|
24
37
|
message = yield if block_given?
|
25
38
|
log("<<< #{message}")
|
26
39
|
end
|
27
40
|
|
28
|
-
def self.log_check(message = nil, &)
|
41
|
+
def self.log_check(message = nil, &block)
|
29
42
|
message = yield if block_given?
|
30
43
|
log("!!! #{message}")
|
31
44
|
end
|
data/lib/slack_bot.rb
CHANGED
@@ -0,0 +1,88 @@
|
|
1
|
+
module SlackBot
|
2
|
+
class Logger
|
3
|
+
def info(*args, **kwargs)
|
4
|
+
puts args, kwargs
|
5
|
+
end
|
6
|
+
end
|
7
|
+
class DevConsole
|
8
|
+
def self.enabled=(value)
|
9
|
+
@enabled = value
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.enabled?
|
13
|
+
@enabled
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.logger=(value)
|
17
|
+
@logger = value
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.logger
|
21
|
+
@logger ||= Logger.new
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.log(message = nil, &block)
|
25
|
+
return unless enabled?
|
26
|
+
|
27
|
+
message = yield if block_given?
|
28
|
+
logger.info(message)
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.log_input(message = nil, &block)
|
32
|
+
message = yield if block_given?
|
33
|
+
log(">>> #{message}")
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.log_output(message = nil, &block)
|
37
|
+
message = yield if block_given?
|
38
|
+
log("<<< #{message}")
|
39
|
+
end
|
40
|
+
|
41
|
+
def self.log_check(message = nil, &block)
|
42
|
+
message = yield if block_given?
|
43
|
+
log("!!! #{message}")
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
require 'spec_helper'
|
49
|
+
|
50
|
+
describe SlackBot::DevConsole do
|
51
|
+
let(:logger) { instance_double(SlackBot::Logger) }
|
52
|
+
before do
|
53
|
+
described_class.enabled = true
|
54
|
+
described_class.logger = logger
|
55
|
+
end
|
56
|
+
|
57
|
+
describe '.enabled=' do
|
58
|
+
it 'sets the enabled value' do
|
59
|
+
expect { described_class.enabled = false }.to change(described_class, :enabled?).from(true).to(false)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
describe '.logger=' do
|
64
|
+
let(:new_logger) { instance_double(SlackBot::Logger) }
|
65
|
+
after { described_class.logger = logger }
|
66
|
+
it 'sets the logger' do
|
67
|
+
expect { described_class.logger = new_logger }.to change(described_class, :logger).from(logger).to(new_logger)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
describe '.log' do
|
72
|
+
context 'when enabled' do
|
73
|
+
before { described_class.enabled = true }
|
74
|
+
it 'logs the message' do
|
75
|
+
expect(described_class.logger).to receive(:info).with('test')
|
76
|
+
described_class.log('test')
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
context 'when disabled' do
|
81
|
+
before { described_class.enabled = false }
|
82
|
+
it 'does not log the message' do
|
83
|
+
expect(described_class.logger).not_to receive(:info)
|
84
|
+
described_class.log('test')
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grape-slack-bot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrei Makarov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-08-
|
11
|
+
date: 2023-08-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|
@@ -81,7 +81,21 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '2'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name: pry
|
84
|
+
name: pry
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0.14'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0.14'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rspec
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
101
|
- - "~>"
|
@@ -95,7 +109,7 @@ dependencies:
|
|
95
109
|
- !ruby/object:Gem::Version
|
96
110
|
version: '3'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
112
|
+
name: webmock
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
100
114
|
requirements:
|
101
115
|
- - "~>"
|
@@ -108,6 +122,34 @@ dependencies:
|
|
108
122
|
- - "~>"
|
109
123
|
- !ruby/object:Gem::Version
|
110
124
|
version: '3'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: simplecov
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0.21'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0.21'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: simplecov-cobertura
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '2'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '2'
|
111
153
|
description: Slack bot implementation for ruby-grape
|
112
154
|
email:
|
113
155
|
- andrei@kiskolabs.com
|
@@ -140,6 +182,7 @@ files:
|
|
140
182
|
- spec/slack_bot/callback_spec.rb
|
141
183
|
- spec/slack_bot/command_spec.rb
|
142
184
|
- spec/slack_bot/config_spec.rb
|
185
|
+
- spec/slack_bot/dev_console_spec.rb
|
143
186
|
- spec/slack_bot/event_spec.rb
|
144
187
|
- spec/slack_bot/grape_extension_spec.rb
|
145
188
|
- spec/slack_bot/interaction_spec.rb
|
@@ -164,7 +207,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
164
207
|
requirements:
|
165
208
|
- - ">="
|
166
209
|
- !ruby/object:Gem::Version
|
167
|
-
version:
|
210
|
+
version: 2.5.0
|
168
211
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
169
212
|
requirements:
|
170
213
|
- - ">="
|
@@ -181,6 +224,7 @@ test_files:
|
|
181
224
|
- spec/slack_bot/callback_spec.rb
|
182
225
|
- spec/slack_bot/command_spec.rb
|
183
226
|
- spec/slack_bot/config_spec.rb
|
227
|
+
- spec/slack_bot/dev_console_spec.rb
|
184
228
|
- spec/slack_bot/event_spec.rb
|
185
229
|
- spec/slack_bot/grape_extension_spec.rb
|
186
230
|
- spec/slack_bot/interaction_spec.rb
|