lib/virility/strategy.rb in virility-0.1.0 vs lib/virility/strategy.rb in virility-0.1.1
- old
+ new
@@ -1,98 +1,98 @@
module Virility
- class Strategy
- include HTTParty
- include Virility::Supporter
+ class Strategy
+ include HTTParty
+ include Virility::Supporter
- attr_accessor :url, :response, :results
+ attr_accessor :url, :response, :results
- def initialize url
- @url = encode url
- @results = {}
- end
-
- #
- # Abstract Methods - Delete eventually
- #
+ def initialize url
+ @url = encode url
+ @results = {}
+ end
+
+ #
+ # Abstract Methods - Delete eventually
+ #
- def census
- raise "Abstract Method census called on #{self.class} - Please define this method"
- end
+ def census
+ raise "Abstract Method census called on #{self.class} - Please define this method"
+ end
- def count
- raise "Abstract Method count called on #{self.class} - Please define this method"
- end
-
- #
- # Poll
- #
-
- def poll
- call_strategy
- collect_results
- end
-
- #
- # Call Strategy
- #
-
- def call_strategy
- @response = census
- end
+ def count
+ raise "Abstract Method count called on #{self.class} - Please define this method"
+ end
+
+ #
+ # Poll
+ #
+
+ def poll
+ call_strategy
+ collect_results
+ end
+
+ #
+ # Call Strategy
+ #
+
+ def call_strategy
+ @response = census
+ end
- #
- # Results
- #
-
- def collect_results
- if respond_to?(:outcome)
- @results = valid_response_test ? outcome : {}
- else
- @results = valid_response_test ? @response.parsed_response : {}
- end
- end
+ #
+ # Results
+ #
+
+ def collect_results
+ if respond_to?(:outcome)
+ @results = valid_response_test ? outcome : {}
+ else
+ @results = valid_response_test ? @response.parsed_response : {}
+ end
+ end
- def results
- if @results.empty?
- begin
- poll
- rescue => e
- puts "[virility#poll] #{self.class.to_s} => #{e}"
- end
- end
- @results
- end
+ def results
+ if @results.empty?
+ begin
+ poll
+ rescue => e
+ puts "[virility#poll] #{self.class.to_s} => #{e}"
+ end
+ end
+ @results
+ end
- #
- # Dynamic Methods
- #
+ #
+ # Dynamic Methods
+ #
- def get_result key
- if result_exists?(key)
- results[key.to_s]
- else
- 0
- end
- end
+ def get_result key
+ if result_exists?(key)
+ results[key.to_s]
+ else
+ 0
+ end
+ end
- def result_exists? key
- !results[key.to_s].nil?
- end
+ def result_exists? key
+ !results[key.to_s].nil?
+ end
- def method_missing(name, *args, &block)
- if result_exists?(name)
- get_result(name)
- else
- 0
- end
- end
+ def method_missing(name, *args, &block)
+ if result_exists?(name)
+ get_result(name)
+ else
+ 0
+ end
+ end
- #
- # Parsed Response Test - Overwrite if needed
- #
+ #
+ # Parsed Response Test - Overwrite if needed
+ #
- def valid_response_test
- @response.respond_to?(:parsed_response) and @response.parsed_response.is_a?(Hash)
- end
+ def valid_response_test
+ @response.respond_to?(:parsed_response) and @response.parsed_response.is_a?(Hash)
+ end
- end
+ end
end
\ No newline at end of file