Class: Hudson::Parser::JobConfigInfo

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(raw_xml) ⇒ JobConfigInfo

Returns a new instance of JobConfigInfo.



7
8
9
10
# File 'lib/hudson-remote-api/parser/job_config_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/job_config_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/job_config_info.rb', line 5

def xml_doc
  @xml_doc
end

Instance Method Details

#block_build_when_downstream_building?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/hudson-remote-api/parser/job_config_info.rb', line 21

def block_build_when_downstream_building?

end

#block_build_when_upstream_building?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/hudson-remote-api/parser/job_config_info.rb', line 25

def block_build_when_upstream_building?

end

#concurrent_build?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/hudson-remote-api/parser/job_config_info.rb', line 29

def concurrent_build?

end

#descriptionObject



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

def description
  description_elem = self.xml_doc.elements["/project/description"]
  description_elem ? description_elem.text : ""
end

#disabled?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/hudson-remote-api/parser/job_config_info.rb', line 17

def disabled?

end

#git_branchObject



42
43
44
45
# File 'lib/hudson-remote-api/parser/job_config_info.rb', line 42

def git_branch
  git_branch_elem = self.xml_doc.elements['/project/scm/branches/hudson.plugins.git.BranchSpec/name']
  git_branch_elem ? git_branch_elem.text : nil
end

#git_repo?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/hudson-remote-api/parser/job_config_info.rb', line 33

def git_repo?
  self.xml_doc.elements["/project/scm"].attributes['class'] == "hudson.plugins.git.GitSCM"
end

#git_repositoryObject



85
86
87
88
89
90
# File 'lib/hudson-remote-api/parser/job_config_info.rb', line 85

def git_repository
  Hash.new.tap do |h|
    h[:url] = self.git_url
    h[:branch] = self.git_branch
  end
end

#git_urlObject



37
38
39
40
# File 'lib/hudson-remote-api/parser/job_config_info.rb', line 37

def git_url
  git_url_elem = self.xml_doc.elements["/project/scm/userRemoteConfigs/hudson.plugins.git.UserRemoteConfig/url"]
  git_url_elem ? git_url_elem.text : nil
end

#parameterized?Boolean

Returns:

  • (Boolean)


47
48
49
# File 'lib/hudson-remote-api/parser/job_config_info.rb', line 47

def parameterized?
  !self.xml_doc.elements["/project/properties/hudson.model.ParametersDefinitionProperty"].nil?
end

#scm_broswer_locationObject



67
68
69
70
71
# File 'lib/hudson-remote-api/parser/job_config_info.rb', line 67

def scm_broswer_location
  if !self.xml_doc.elements["/project/scm/browser/location"].nil?
    self.xml_doc.elements["/project/scm/browser/location"].text
  end
end

#scm_browser_urlObject



62
63
64
65
# File 'lib/hudson-remote-api/parser/job_config_info.rb', line 62

def scm_browser_url
  scm_browser_url_elem = self.xml_doc.elements['/project/scm/browser/url']
  scm_browser_url_elem ? scm_browser_url_elem.text : ""
end

#svn_repo?Boolean

Returns:

  • (Boolean)


73
74
75
# File 'lib/hudson-remote-api/parser/job_config_info.rb', line 73

def svn_repo?
  !self.xml_doc.elements["/project/scm/locations/hudson.scm.SubversionSCM_-ModuleLocation/remote"].nil?
end

#svn_repositoryObject



92
93
94
95
# File 'lib/hudson-remote-api/parser/job_config_info.rb', line 92

def svn_repository
  repo_elem = self.xml_doc.elements["/project/scm/locations/hudson.scm.SubversionSCM_-ModuleLocation/remote"]
  repo_elem ? repo_elem.text : ""
end

#svn_repository_urlsObject



77
78
79
80
81
82
83
# File 'lib/hudson-remote-api/parser/job_config_info.rb', line 77

def svn_repository_urls
  if !self.xml_doc.elements["/project/scm/locations"].nil?
    Array.new.tap do |a|
      self.xml_doc.elements.each("/project/scm/locations/hudson.scm.SubversionSCM_-ModuleLocation"){|e| a << e.elements["remote"].text }
    end
  end
end

#triggersObject



51
52
53
54
55
56
57
58
59
60
# File 'lib/hudson-remote-api/parser/job_config_info.rb', line 51

def triggers
  Hash.new.tap do |h|
    if triggers_elem = self.xml_doc.elements["/project/triggers"] || self.xml_doc.elements["/project/triggers[@class='vector']"]
      triggers_elem.elements.to_a.each do |trigger|
        spec_text = trigger.elements['spec'].text
        h[trigger.name.to_s] = spec_text.to_s
      end
    end
  end
end