grape-slack-bot 1.0.5 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 01e2933c0e98e856b11a9a89da5feb9d01bd6ed059a31e2ae0132560eb4a15e6
4
- data.tar.gz: 18b35789632851892cf8afe19d3b8b50b5c4b6b616551b305a4f603e307f7423
3
+ metadata.gz: f84c93d79a89045d58deda55e64382c8ef74daf4975e0f47732b480c08619020
4
+ data.tar.gz: 6f3e952d9a8f85e48de8f045aab1c35f0d69e9ac39b8328c240f38c77c578ad0
5
5
  SHA512:
6
- metadata.gz: 831eb6dd2c71b08bc91f120f9243ccc4cab043baa7f0666992ed744ec31abddc9975e69200c3aa136997fd4c571c0be460a16bde90f017ce0ec73bd0d15ef9c9
7
- data.tar.gz: 23463749cc8381847530940e62ccc9afc53e59ec31d15985b89dbfa611251a5bc7b85958ceae4acc50b577d95336cf2c33d876fc365204b34472f67ec7acb899
6
+ metadata.gz: 458e378569349642ecf2433fd573d3ad40ef69def84a6253206ff5bcef2b9d983c24b0d1e53a30887de7a8203dcf733ba868bbbbc9b4e215ded1f71487c3dd12
7
+ data.tar.gz: dd5ef3106d1a1255cb788bef313d905ca986133bc5b3b3e53166c70b9727f8d3b996cce595f724e80b9d08ec4338ca91fbedcf135945878c01a61d32872375ef
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ # 1.2.0
2
+
3
+ * Remove `Rails.logger` dependency, make logger configurable
4
+
5
+ # 1.1.0
6
+
7
+ * Set minimum ruby version requirement to 2.5.0
8
+
1
9
  # 1.0.5
2
10
 
3
11
  * Add superclass `SlackBot::Error` for all errors
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
@@ -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 = ">= 1.9.3"
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-byebug', '~> 3'
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.log(message = nil, &)
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
- Rails.logger.info(message)
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
@@ -21,5 +21,5 @@ require 'slack_bot/pager'
21
21
  require 'slack_bot/grape_extension'
22
22
 
23
23
  module SlackBot
24
- VERSION = '1.0.5'.freeze
24
+ VERSION = '1.2.0'.freeze
25
25
  end
@@ -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.5
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-29 00:00:00.000000000 Z
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-byebug
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: rspec
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: 1.9.3
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