Class: Hudson::Parser::BuildInfo

Inherits:
Object
  • Object
show all
Defined in:
lib/hudson-remote-api/parser/build_info.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(raw_xml) ⇒ BuildInfo

Returns a new instance of BuildInfo.



7
8
9
10
# File 'lib/hudson-remote-api/parser/build_info.rb', line 7

def initialize(raw_xml)
  @xml = raw_xml
  @xml_doc = REXML::Document.new(raw_xml)
end

Instance Attribute Details

#xmlObject

Returns the value of attribute xml.



5
6
7
# File 'lib/hudson-remote-api/parser/build_info.rb', line 5

def xml
  @xml
end

#xml_docObject

Returns the value of attribute xml_doc.



5
6
7
# File 'lib/hudson-remote-api/parser/build_info.rb', line 5

def xml_doc
  @xml_doc
end

Instance Method Details

#culpritObject



28
29
30
31
32
33
# File 'lib/hudson-remote-api/parser/build_info.rb', line 28

def culprit
  culprit_element = self.xml_doc.elements['/freeStyleBuild/culprit/fullName']

  if culprit_element.respond_to?(:text) ? culprit_element.text : nil
  end
end

#resultObject



12
13
14
15
16
# File 'lib/hudson-remote-api/parser/build_info.rb', line 12

def result
  build_result_element = self.xml_doc.elements["/freeStyleBuild/result"]

  build_result_element.respond_to?(:text) ? build_result_element.text : nil
end

#revisionsObject



18
19
20
21
22
23
24
25
26
# File 'lib/hudson-remote-api/parser/build_info.rb', line 18

def revisions
  return nil unless self.xml_doc.elements["/freeStyleBuild/changeSet"]

  Hash.new().tap do |h|
    self.xml_doc.elements.each("/freeStyleBuild/changeSet/revision") do |revision|
      h[revision.elements["module"].text] = revision.elements["revision"].text
    end
  end
end