grape-slack-bot 1.1.0 → 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: 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