Included modules
- XmlContainer
- Enumerable
Attributes
assumptions | [R] | |
pods | [R] | |
query | [R] |
Public class methods
new
(xml, options = {})
[show source]
# File lib/wac/result.rb, line 10 def initialize(xml, options = {}) @query = options[:query] @xml = Nokogiri::XML(xml.to_s).search('queryresult').first @xml or raise MissingNodeError, "<queryresult> node missing from xml: #{xml[0..20]}..." @assumptions = Assumption.collection(@xml, options) @pods = Pod.collection(@xml, options) types.each {|mixin| extend mixin} end
Public instance methods
assumption
()
shortcut to the first assumption
[show source]
# File lib/wac/result.rb, line 24 def assumption assumptions[0] end
format
()
[show source]
# File lib/wac/result.rb, line 39 def format @query && @query.options[:format] end
inspect
()
[show source]
# File lib/wac/result.rb, line 32 def inspect out = "a: #{xml['datatypes']}" out << " (assumptions: #{assumptions.map(&:name).join(', ')})" if assumptions.present? out << pods.map{|pod| "\n - #{pod.to_s.gsub("\n", "\n ")}"}.join out end
types
()
[show source]
# File lib/wac/result.rb, line 28 def types @types ||= xml['datatypes'].split(',').map {|type| Wac.mixin(Result, type)} end