module Percy

Public Class Methods

client(options = {}) click to toggle source

API client based on configured options.

@return [Percy::Client] API client.

# File lib/percy.rb, line 18
def self.client(options = {})
  if !defined?(@client) || !@client
    @client = Percy::Client.new(
      config: config,
      client_info: options[:client_info],
      environment_info: options[:environment_info],
    )
  end

  @client
end
config() click to toggle source
# File lib/percy.rb, line 5
def self.config
  @config ||= Percy::Config.new
end
logger() click to toggle source

@private

# File lib/percy.rb, line 31
def self.logger
  @logger if defined?(@logger)
  @logger ||= Logger.new(STDOUT)
  @logger.level = config.debug ? Logger::DEBUG : Logger::INFO
  @logger.formatter = proc do |severity, _datetime, _progname, msg|
    "[percy][#{severity}] #{msg}\n"
  end
  @logger
end
method_missing(method_name, *args, &block) click to toggle source

@private

Calls superclass method
# File lib/percy.rb, line 56
def self.method_missing(method_name, *args, &block)
  return super unless client.respond_to?(method_name)
  client.send(method_name, *args, &block)
end
reset() click to toggle source
# File lib/percy.rb, line 9
def self.reset
  @config = nil
  @client = nil
  @logger = nil
end
respond_to?(method_name, include_private = false) click to toggle source
Calls superclass method
# File lib/percy.rb, line 50
def self.respond_to?(method_name, include_private = false)
  client.respond_to?(method_name, include_private) || super
end
respond_to_missing?(method_name, include_private = false) click to toggle source
# File lib/percy.rb, line 43
def self.respond_to_missing?(method_name, include_private = false)
  client.respond_to?(method_name, include_private)
end