Class: Sparoid::Instance
Overview
Instance of SPAroid that resolves its public IP once and reuses it
Constant Summary
Constants included from Sparoid
GOOGLE_DNS_V6, SPAROID_CACHE_PATH, URLS, VERSION
Instance Method Summary collapse
- #cached_public_ips ⇒ Object
-
#initialize ⇒ Instance
constructor
A new instance of Instance.
Methods included from Sparoid
Constructor Details
#initialize ⇒ Instance
Returns a new instance of Instance.
264 265 266 267 |
# File 'lib/sparoid.rb', line 264 def initialize @resolve_mutex = Mutex.new @public_ips = [] end |
Instance Method Details
#cached_public_ips ⇒ Object
269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 |
# File 'lib/sparoid.rb', line 269 def cached_public_ips return @public_ips if @public_ips.any? @resolve_mutex.synchronize do return @public_ips if @public_ips.any? ips = public_ips if ips.empty? warn "Sparoid: Failed to retrieve public IPs" else @public_ips = ips end ips end end |