percy-client 0.6.0 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/percy.rb +13 -0
- data/lib/percy/client/version.rb +1 -1
- data/spec/lib/percy_spec.rb +17 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c9e0c3a6e080238cdd0742a2a091d789db3579c1
|
4
|
+
data.tar.gz: 2781e48d57c364961af2fb3fa76d075580abc324
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 25a97d97185cae56fc45c28f73e0fbd4fb6ed3f6a06e82f9e83bbdec2547df6ea06ab97a6d63405775bc17568c7fdb66cb8cdffaa8ecc9eb37f8475f0b2de1c3
|
7
|
+
data.tar.gz: 4ef7376ca3470e39d020aaf02884571300c92a3333f9dbfeeb527132110b3192b9797a857cbb482498e7ad9302d1d5a4dd1289bb16b545aa96e49090a8db75f2
|
data/lib/percy.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'logger'
|
1
2
|
require 'percy/client'
|
2
3
|
|
3
4
|
module Percy
|
@@ -8,6 +9,7 @@ module Percy
|
|
8
9
|
def self.reset
|
9
10
|
@config = nil
|
10
11
|
@client = nil
|
12
|
+
@logger = nil
|
11
13
|
end
|
12
14
|
|
13
15
|
# API client based on configured options.
|
@@ -18,6 +20,17 @@ module Percy
|
|
18
20
|
@client
|
19
21
|
end
|
20
22
|
|
23
|
+
# @private
|
24
|
+
def self.logger
|
25
|
+
@logger if defined?(@logger)
|
26
|
+
@logger ||= Logger.new(STDOUT)
|
27
|
+
@logger.level = config.debug ? Logger::DEBUG : Logger::INFO
|
28
|
+
@logger.formatter = proc do |severity, datetime, progname, msg|
|
29
|
+
"[percy][#{severity}] #{msg}\n"
|
30
|
+
end
|
31
|
+
@logger
|
32
|
+
end
|
33
|
+
|
21
34
|
# @private
|
22
35
|
def self.respond_to_missing?(method_name, include_private = false)
|
23
36
|
client.respond_to?(method_name, include_private)
|
data/lib/percy/client/version.rb
CHANGED
data/spec/lib/percy_spec.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
RSpec.describe Percy do
|
2
2
|
before(:each) { Percy.reset }
|
3
|
+
after(:each) { Percy.reset }
|
3
4
|
describe '#config' do
|
4
5
|
it 'returns a config object' do
|
5
6
|
expect(Percy.config.api_url).to eq('http://localhost:3000/api/v1')
|
@@ -11,11 +12,26 @@ RSpec.describe Percy do
|
|
11
12
|
expect(Percy.client.config).to eq(config)
|
12
13
|
end
|
13
14
|
end
|
15
|
+
describe '#logger' do
|
16
|
+
it 'returns a memoized logger instance' do
|
17
|
+
logger = Percy.logger
|
18
|
+
expect(logger).to eq(Percy.logger)
|
19
|
+
Percy.logger.debug('Test logging that should NOT be output')
|
20
|
+
Percy.logger.info('Test logging that SHOULD be output')
|
21
|
+
Percy.logger.error('Test logging that SHOULD be output')
|
22
|
+
Percy.config.debug = true
|
23
|
+
Percy.logger.debug('Test logging that SHOULD be output')
|
24
|
+
end
|
25
|
+
end
|
14
26
|
describe '#reset' do
|
15
|
-
it 'clears
|
27
|
+
it 'clears certain instance variables' do
|
16
28
|
old_config = Percy.client.config
|
29
|
+
old_client = Percy.client
|
30
|
+
old_logger = Percy.logger
|
17
31
|
Percy.reset
|
18
32
|
expect(old_config).to_not eq(Percy.config)
|
33
|
+
expect(old_client).to_not eq(Percy.client)
|
34
|
+
expect(old_logger).to_not eq(Percy.logger)
|
19
35
|
end
|
20
36
|
end
|
21
37
|
end
|