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 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