class ProxyService::Proxy

Attributes

failures[W]
ip[W]
message[W]
port[W]
worker[RW]

Public Class Methods

new(worker) click to toggle source

@param [Worker, NullWorker] worker that has a message and body

# File lib/proxy_service/proxy.rb, line 7
def initialize(worker)
  @worker = worker
end

Public Instance Methods

blocked!() click to toggle source
# File lib/proxy_service/proxy.rb, line 43
def blocked!
  @blocked = true
end
blocked?() click to toggle source
# File lib/proxy_service/proxy.rb, line 39
def blocked?
  !!@blocked
end
failures() click to toggle source
# File lib/proxy_service/proxy.rb, line 19
def failures
  @failures ||= message['failures']
end
increment_failures() click to toggle source
# File lib/proxy_service/proxy.rb, line 31
def increment_failures
  @failures += 1
end
inspect()
Alias for: to_s
ip() click to toggle source
# File lib/proxy_service/proxy.rb, line 11
def ip
  @ip ||= message['ip']
end
message() click to toggle source
# File lib/proxy_service/proxy.rb, line 23
def message
  @message ||= { 'failures' => 0 }.merge(JSON.parse(worker.message.body))
end
port() click to toggle source
# File lib/proxy_service/proxy.rb, line 15
def port
  @port ||= message['port']
end
release() click to toggle source
# File lib/proxy_service/proxy.rb, line 27
def release
  worker.release(self, blocked?)
end
reset_failures() click to toggle source
# File lib/proxy_service/proxy.rb, line 35
def reset_failures
  @failures = 0
end
to_h() click to toggle source

Coercion overrides

# File lib/proxy_service/proxy.rb, line 51
def to_h
  {
    ip: ip,
    port: port,
    failures: failures
  }
end
to_json() click to toggle source
# File lib/proxy_service/proxy.rb, line 59
def to_json
  to_h.to_json
end
to_s() click to toggle source
# File lib/proxy_service/proxy.rb, line 63
def to_s
  %(#<Proxy:#{object_id} @ip="#{ip}", @port="#{port}", @failures=#{failures}, @blocked=#{blocked?}, @message=#{message}, @worker="...">)
end
Also aliased as: inspect