class SimpleContracts::Statistics
Constants
- TEMPLATE
Public Class Methods
new(contract_name, logger: nil)
click to toggle source
# File lib/simple_contracts/statistics.rb, line 10 def initialize(contract_name, logger: nil) @contract_name = contract_name @logger = logger end
Public Instance Methods
log(rule, meta, error = nil)
click to toggle source
# File lib/simple_contracts/statistics.rb, line 15 def log(rule, meta, error = nil) logger.debug(log_data(rule: rule, meta: meta, error: error)) end
Private Instance Methods
log_data(**kwargs)
click to toggle source
# File lib/simple_contracts/statistics.rb, line 25 def log_data(**kwargs) TEMPLATE % {payload: payload(**kwargs)} end
logger()
click to toggle source
# File lib/simple_contracts/statistics.rb, line 21 def logger @logger ||= Logger.new(STDOUT) end
payload(rule:, meta: nil, error: nil)
click to toggle source
# File lib/simple_contracts/statistics.rb, line 29 def payload(rule:, meta: nil, error: nil) JSON.dump({ time: Time.now, contract_name: @contract_name, rule: rule, meta: meta, error: error }.compact) end