class Counter

Attributes

errors[RW]
fail[RW]
fail_at[RW]
success[RW]
success_at[RW]

Public Class Methods

new(tor, success: 0, fail: 0, success_at: nil, fail_at: nil, errors: {}) click to toggle source
# File lib/rest_tor/instance.rb, line 107
def initialize(tor, success: 0, fail: 0, success_at: nil, fail_at: nil, errors: {})
  @tor        = tor
  @success    = success
  @fail       = fail
  @success_at = success_at
  @fail_at    = fail_at
  @errors     = errors.is_a?(::Hash) ? errors : {}
end

Public Instance Methods

fail!(e) click to toggle source
# File lib/rest_tor/instance.rb, line 131
def fail!(e)
  if e.is_a?(::Exception)
    errors[e.class] ||= 0
    errors[e.class] += 1
  else
    erros[e] ||= 0
    erros[e] += 1
  end

  @tor.apply do
    @fail += 1
    @fail_at = ::Time.now
  end
end
inspect() click to toggle source
# File lib/rest_tor/instance.rb, line 116
def inspect
  "#<Counter success: #{@success}, fail: #{@fail}, succss_at: #{@success_at}, fail_at:#{@fail_at}>"
end
success!() click to toggle source
# File lib/rest_tor/instance.rb, line 124
def success!
  @tor.apply do
    @success += 1
    @success_at = ::Time.now
  end
end
to_h() click to toggle source
# File lib/rest_tor/instance.rb, line 120
def to_h
  { success: @success, fail: @fail, success_at: @success_at, fail_at: @fail_at, errors: @errors }
end