Class Wac::Result

  1. lib/wac/result.rb
Parent: Object

Methods

public class

  1. new

public instance

  1. assumption
  2. format
  3. inspect
  4. successful?
  5. types

Included modules

  1. XmlContainer
  2. 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
successful? ()
[show source]
# File lib/wac/result.rb, line 19
    def successful?
      success
    end
types ()
[show source]
# File lib/wac/result.rb, line 28
    def types
      @types ||= xml['datatypes'].split(',').map {|type| Wac.mixin(Result, type)}
    end