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
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