nexpose 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -55,7 +55,7 @@ module Nexpose
55
55
  @raw_response_data = @raw_response.read_body
56
56
  @res = parse_xml(@raw_response_data)
57
57
 
58
- if (not @res.root)
58
+ unless @res.root
59
59
  @error = 'Nexpose service returned invalid XML.'
60
60
  return @sid
61
61
  end
@@ -68,12 +68,19 @@ module Nexpose
68
68
  @success = true
69
69
  else
70
70
  @success = false
71
- @res.elements.each('//Failure/Exception') do |s|
72
- s.elements.each('message') do |m|
73
- @error = m.text
71
+ if @api_version =~ /1.2/
72
+ @res.elements.each('//Exception/Message') do |message|
73
+ @error = message.text.sub(/.*Exception: */, '')
74
74
  end
75
- s.elements.each('stacktrace') do |m|
76
- @trace = m.text
75
+ @res.elements.each('//Exception/Stacktrace') do |stacktrace|
76
+ @trace = stacktrace.text
77
+ end
78
+ else
79
+ @res.elements.each('//message') do |message|
80
+ @error = message.text.sub(/.*Exception: */, '')
81
+ end
82
+ @res.elements.each('//stacktrace') do |stacktrace|
83
+ @trace = stacktrace.text
77
84
  end
78
85
  end
79
86
  end
@@ -123,9 +130,7 @@ module Nexpose
123
130
  def self.execute(url, req, api_version='1.1')
124
131
  obj = self.new(req, url, api_version)
125
132
  obj.execute
126
- if (not obj.success)
127
- raise APIError.new(obj, "Action failed: #{obj.error}")
128
- end
133
+ raise APIError.new(obj, "Action failed: #{obj.error}") unless obj.success
129
134
  obj
130
135
  end
131
136
 
@@ -179,6 +179,8 @@ module Nexpose
179
179
  attr_accessor :template_id
180
180
  # Format. One of: pdf|html|rtf|xml|text|csv|db|raw-xml|raw-xml-v2|ns-xml|qualys-xml
181
181
  attr_accessor :format
182
+ attr_accessor :owner
183
+ attr_accessor :time_zone
182
184
 
183
185
  # Array of filters associated with this report.
184
186
  attr_accessor :filters
@@ -190,9 +192,11 @@ module Nexpose
190
192
  # particular date.
191
193
  attr_accessor :baseline
192
194
 
193
- def initialize(template_id, format, site_id = nil)
195
+ def initialize(template_id, format, site_id = nil, owner = nil, time_zone = nil)
194
196
  @template_id = template_id
195
197
  @format = format
198
+ @owner = owner
199
+ @time_zone = time_zone
196
200
 
197
201
  @filters = []
198
202
  @filters << Filter.new('site', site_id) if site_id
@@ -204,13 +208,16 @@ module Nexpose
204
208
  end
205
209
 
206
210
  def to_xml
207
- xml = %Q{<AdhocReportConfig format='#{@format}' template-id='#{@template_id}'>}
211
+ xml = %Q(<AdhocReportConfig format='#{@format}' template-id='#{@template_id}')
212
+ xml << %Q( owner='#{@owner}') if @owner
213
+ xml << %Q( timezone='#{@time_zone}') if @time_zone
214
+ xml << '>'
208
215
 
209
216
  xml << '<Filters>'
210
217
  @filters.each { |filter| xml << filter.to_xml }
211
218
  xml << '</Filters>'
212
219
 
213
- xml << %Q{<Baseline compareTo='#{@baseline}' />} if @baseline
220
+ xml << %Q(<Baseline compareTo='#{@baseline}' />) if @baseline
214
221
 
215
222
  xml << '</AdhocReportConfig>'
216
223
  end
@@ -257,8 +264,6 @@ module Nexpose
257
264
  attr_accessor :id
258
265
  # The unique name assigned to the report definition.
259
266
  attr_accessor :name
260
- attr_accessor :owner
261
- attr_accessor :time_zone
262
267
 
263
268
  # Description associated with this report.
264
269
  attr_accessor :description
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nexpose
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-12-25 00:00:00.000000000 Z
13
+ date: 2012-12-27 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: librex