grape-slack-bot 1.1.0 → 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: 4b53a91399f6f62b4e41344291c542bc21fd0ba9a8fc0439cbdcedf582b136f2
4
- data.tar.gz: 8e1f65196522cb4289d34fb74ffe7aeab067cd1998587ffeccbe460dea687f94
3
+ metadata.gz: f84c93d79a89045d58deda55e64382c8ef74daf4975e0f47732b480c08619020
4
+ data.tar.gz: 6f3e952d9a8f85e48de8f045aab1c35f0d69e9ac39b8328c240f38c77c578ad0
5
5
  SHA512:
6
- metadata.gz: ceccba665b1446c26bb0168af5e4d80336e2bf48eb7d58d7b293073041298587980f697372f97a9f5e26852f0753e59f4bd6933d2ece99936535df35917f4786
7
- data.tar.gz: 015ca10566222e5472c36736a97b382775008b8d8fb98eb1e1ee6a9d8ed79d211b2e765d78ff328a707bcb3998800a8d51d22d2950b7bfe6909f12bff421fea2
6
+ metadata.gz: 458e378569349642ecf2433fd573d3ad40ef69def84a6253206ff5bcef2b9d983c24b0d1e53a30887de7a8203dcf733ba868bbbbc9b4e215ded1f71487c3dd12
7
+ data.tar.gz: dd5ef3106d1a1255cb788bef313d905ca986133bc5b3b3e53166c70b9727f8d3b996cce595f724e80b9d08ec4338ca91fbedcf135945878c01a61d32872375ef
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ # 1.2.0
2
+
3
+ * Remove `Rails.logger` dependency, make logger configurable
4
+
1
5
  # 1.1.0
2
6
 
3
7
  * Set minimum ruby version requirement to 2.5.0
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
@@ -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.1.0'.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,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grape-slack-bot
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrei Makarov
@@ -182,6 +182,7 @@ files:
182
182
  - spec/slack_bot/callback_spec.rb
183
183
  - spec/slack_bot/command_spec.rb
184
184
  - spec/slack_bot/config_spec.rb
185
+ - spec/slack_bot/dev_console_spec.rb
185
186
  - spec/slack_bot/event_spec.rb
186
187
  - spec/slack_bot/grape_extension_spec.rb
187
188
  - spec/slack_bot/interaction_spec.rb
@@ -223,6 +224,7 @@ test_files:
223
224
  - spec/slack_bot/callback_spec.rb
224
225
  - spec/slack_bot/command_spec.rb
225
226
  - spec/slack_bot/config_spec.rb
227
+ - spec/slack_bot/dev_console_spec.rb
226
228
  - spec/slack_bot/event_spec.rb
227
229
  - spec/slack_bot/grape_extension_spec.rb
228
230
  - spec/slack_bot/interaction_spec.rb