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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4b420067bd7cca13d8d2538511c7f12520909963
4
- data.tar.gz: 91c592aa848deba4fe349353faac796fa9d4b6da
3
+ metadata.gz: c9e0c3a6e080238cdd0742a2a091d789db3579c1
4
+ data.tar.gz: 2781e48d57c364961af2fb3fa76d075580abc324
5
5
  SHA512:
6
- metadata.gz: c43fd0e973c8f07a8c1aa5b8c72b2827ed4178666a1886900f3b060a9278e27150648ecb89070cbc22ee7908ab0cdc097b11ed520f4a33baf1f9d6e16584507e
7
- data.tar.gz: 480e45ef6ac7c23b0a804790d8040c3e49f39d97c1b03f5a6df5331ca58713c5ca4724f0493f0e3fe3c8ab3de015d7b3ad14e44b428a93ab265f403a2a55dd70
6
+ metadata.gz: 25a97d97185cae56fc45c28f73e0fbd4fb6ed3f6a06e82f9e83bbdec2547df6ea06ab97a6d63405775bc17568c7fdb66cb8cdffaa8ecc9eb37f8475f0b2de1c3
7
+ data.tar.gz: 4ef7376ca3470e39d020aaf02884571300c92a3333f9dbfeeb527132110b3192b9797a857cbb482498e7ad9302d1d5a4dd1289bb16b545aa96e49090a8db75f2
@@ -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)
@@ -1,5 +1,5 @@
1
1
  module Percy
2
2
  class Client
3
- VERSION = '0.6.0'
3
+ VERSION = '0.7.0'
4
4
  end
5
5
  end
@@ -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 the main global config object' do
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: percy-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Perceptual Inc.