class Virility::Strategy
Attributes
http_proxyaddr[RW]
http_proxyport[RW]
original_url[RW]
response[RW]
results[RW]
url[RW]
Public Class Methods
new(url, proxy: {})
click to toggle source
# File lib/virility/strategy.rb, line 8 def initialize(url, proxy: {}) @original_url = url @url = encode(url) @results = {} @http_proxyaddr = proxy.dig(:http_proxyaddr) @http_proxyport = proxy.dig(:http_proxyport) end
Public Instance Methods
call_strategy()
click to toggle source
Call Strategy
# File lib/virility/strategy.rb, line 41 def call_strategy @response = census end
census()
click to toggle source
Abstract Methods - Delete eventually
# File lib/virility/strategy.rb, line 20 def census raise "Abstract Method census called on #{self.class} - Please define this method" end
collect_results()
click to toggle source
Results
# File lib/virility/strategy.rb, line 49 def collect_results if respond_to?(:outcome) @results = valid_response_test ? outcome : {} else @results = valid_response_test ? @response.parsed_response : {} end end
count()
click to toggle source
# File lib/virility/strategy.rb, line 24 def count raise "Abstract Method count called on #{self.class} - Please define this method" end
get_result(key)
click to toggle source
Dynamic Methods
# File lib/virility/strategy.rb, line 72 def get_result key if result_exists?(key) results[key.to_s] else 0 end end
method_missing(name, *args, &block)
click to toggle source
# File lib/virility/strategy.rb, line 84 def method_missing(name, *args, &block) if result_exists?(name) get_result(name) else 0 end end
poll()
click to toggle source
Poll
# File lib/virility/strategy.rb, line 32 def poll call_strategy collect_results end
result_exists?(key)
click to toggle source
# File lib/virility/strategy.rb, line 80 def result_exists? key !results[key.to_s].nil? end
valid_response_test()
click to toggle source
Parsed Response Test - Overwrite if needed
# File lib/virility/strategy.rb, line 96 def valid_response_test @response.respond_to?(:parsed_response) and @response.parsed_response.is_a?(Hash) end