deepsecurity 0.0.23 → 0.0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.md +5 -1
- data/lib/deepsecurity/manager.rb +3 -4
- data/lib/deepsecurity/version.rb +1 -1
- data/lib/savon_helper/soap_interface.rb +5 -1
- data/lib/savon_helper/type_mappings.rb +10 -20
- metadata +3 -3
data/CHANGELOG.md
CHANGED
data/lib/deepsecurity/manager.rb
CHANGED
@@ -11,10 +11,9 @@ module DeepSecurity
|
|
11
11
|
# @param hostname [String] host to connect to
|
12
12
|
# @param port [Integer] port to connect to
|
13
13
|
# @param log_level [LOG_MAPPING] Log Level
|
14
|
-
def self.server(hostname, port=4119, log_level=nil, logger =
|
15
|
-
|
16
|
-
|
17
|
-
self.new(DeepSecurity::SOAPInterface.new(hostname, port, logger || default_logger, log_level))
|
14
|
+
def self.server(hostname, port=4119, log_level=nil, logger = Logger.new(STDERR))
|
15
|
+
logger.level = LOG_MAPPING[log_level] || Logger::INFO
|
16
|
+
self.new(DeepSecurity::SOAPInterface.new(hostname, port, logger, log_level))
|
18
17
|
end
|
19
18
|
|
20
19
|
# @param interface [DeepSecurity::SOAPInterface] The initialized interface to direct further calls to.
|
data/lib/deepsecurity/version.rb
CHANGED
@@ -4,7 +4,11 @@ module SavonHelper
|
|
4
4
|
|
5
5
|
class SOAPInterface
|
6
6
|
|
7
|
-
def initialize(wsdl_url, logger = Logger.new(
|
7
|
+
def initialize(wsdl_url, logger = Logger.new(STDERR), log_level = nil, options = {})
|
8
|
+
HTTPI.log = (!log_level.nil?)
|
9
|
+
HTTPI.logger = logger
|
10
|
+
HTTPI.log_level = log_level
|
11
|
+
|
8
12
|
@client = Savon.client(options.merge({:wsdl => wsdl_url,
|
9
13
|
:logger => logger,
|
10
14
|
:log_level => log_level,
|
@@ -5,6 +5,8 @@ module SavonHelper
|
|
5
5
|
# A TypeMapping class is responsible for converting between Savon primitive types and Ruby Types
|
6
6
|
class TypeMapping
|
7
7
|
|
8
|
+
attr_reader :name, :description
|
9
|
+
|
8
10
|
# A new instance of TypeMapping with description
|
9
11
|
# @param description [String] A String describing the mapping.
|
10
12
|
# @return [TypeMapping]
|
@@ -31,12 +33,6 @@ module SavonHelper
|
|
31
33
|
|
32
34
|
# @!endgroup
|
33
35
|
|
34
|
-
# Return the description
|
35
|
-
# @return [String]
|
36
|
-
def description
|
37
|
-
@description
|
38
|
-
end
|
39
|
-
|
40
36
|
# @abstract Return the class represented by the mapping.
|
41
37
|
# @return [Class]
|
42
38
|
def object_klass
|
@@ -55,15 +51,6 @@ module SavonHelper
|
|
55
51
|
raise "#{self.class}##{__method__}() not implemented!"
|
56
52
|
end
|
57
53
|
|
58
|
-
# Warn about unparsable mapping
|
59
|
-
# @todo Check if mappings can be derived from klass
|
60
|
-
# @param data [Hash, Object] Source Savon data
|
61
|
-
def self.warn_unparseable_data(data, interface)
|
62
|
-
message = "Can't parse #{type_string} #{@name.inspect}: #{data.inspect}"
|
63
|
-
interface.logger.warn(message)
|
64
|
-
self.default_value()
|
65
|
-
end
|
66
|
-
|
67
54
|
end
|
68
55
|
|
69
56
|
# BooleanMapping maps Savon data to Ruby Booleans.
|
@@ -402,9 +389,9 @@ module SavonHelper
|
|
402
389
|
# @param element_mapping [TypeMapping] TypeMapping for elements
|
403
390
|
# @param data [Hash,Array] Source Savon Data
|
404
391
|
# @return [Array<element_mapping>]
|
405
|
-
def self.to_native(element_mapping, data, interface)
|
406
|
-
return [] if data.blank?
|
392
|
+
def self.to_native(element_mapping, data, interface, array_mapping = nil)
|
407
393
|
result = []
|
394
|
+
return result if data.blank?
|
408
395
|
if data.is_a?(Array)
|
409
396
|
data.each do |element|
|
410
397
|
result << element_mapping.to_native(element, interface)
|
@@ -414,10 +401,13 @@ module SavonHelper
|
|
414
401
|
if item.nil?
|
415
402
|
result << element_mapping.to_native(data, interface)
|
416
403
|
else
|
417
|
-
result = to_native(element_mapping, item, interface)
|
404
|
+
result = to_native(element_mapping, item, interface, array_mapping)
|
418
405
|
end
|
419
406
|
else
|
420
|
-
|
407
|
+
message = "Can't parse"
|
408
|
+
message = message + " #{array_mapping.type_string} #{array_mapping.name.inspect}" if array_mapping
|
409
|
+
message = message + ": #{data.inspect}"
|
410
|
+
interface.logger.warn(message)
|
421
411
|
end
|
422
412
|
result
|
423
413
|
end
|
@@ -437,7 +427,7 @@ module SavonHelper
|
|
437
427
|
# @param data [Hash, Hash] Source Savon data
|
438
428
|
# @return [Array<@element_mapping>]
|
439
429
|
def to_native(data, interface)
|
440
|
-
self.class.to_native(@element_mapping, data, interface)
|
430
|
+
return self.class.to_native(@element_mapping, data, interface, self)
|
441
431
|
end
|
442
432
|
|
443
433
|
# @!endgroup
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: deepsecurity
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.24
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -221,7 +221,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
221
221
|
version: '0'
|
222
222
|
segments:
|
223
223
|
- 0
|
224
|
-
hash:
|
224
|
+
hash: 360528431996802162
|
225
225
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
226
226
|
none: false
|
227
227
|
requirements:
|
@@ -230,7 +230,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
230
230
|
version: '0'
|
231
231
|
segments:
|
232
232
|
- 0
|
233
|
-
hash:
|
233
|
+
hash: 360528431996802162
|
234
234
|
requirements: []
|
235
235
|
rubyforge_project:
|
236
236
|
rubygems_version: 1.8.24
|