washout_builder 1.0.6 → 1.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/helpers/washout_builder_complex_type_helper.rb +6 -3
- data/app/views/wash_with_html/_public_method.builder +1 -1
- data/app/views/wash_with_html/doc.builder +10 -10
- data/lib/washout_builder.rb +1 -2
- data/lib/washout_builder/document/generator.rb +0 -8
- data/lib/washout_builder/soap.rb +7 -0
- data/lib/washout_builder/version.rb +1 -1
- data/spec/app/helpers/washout_builder_complex_type_helper_spec.rb +4 -4
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 52f353a8aecf1b5a98c0917150ac3b5b8d276796
|
4
|
+
data.tar.gz: d180c28ca71d56fc95355e6cbc136ddff20f4a48
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 729370b6e96ec3bea73fcea7b0647a2b2301cab068be5d962a11c9e46327d132a94568a1bb5578ab95e9dc69b4a537d04a491a5c6ceaf57014f90db6b705b3ae
|
7
|
+
data.tar.gz: 3d6b3026e25a81c53c4f03f38da6f82838b2cc1e5d4ee99bcf0cd4f3f74f103768b189ceea917fbaa1af847dc7e3de2650828b215a78eb31a09463e083b0f06a
|
@@ -13,14 +13,15 @@ module WashoutBuilderComplexTypeHelper
|
|
13
13
|
#
|
14
14
|
# @api public
|
15
15
|
def create_element_type_html(pre, element, element_description)
|
16
|
+
element_description = element_description.blank? ? nil : element_description.fetch(element.name.to_s.downcase, '')
|
16
17
|
element.type = 'string' if element.type == 'text'
|
17
18
|
element.type = 'integer' if element.type == 'int'
|
18
19
|
if WashoutBuilder::Type::BASIC_TYPES.include?(element.type)
|
19
20
|
pre << "<span class='blue'>#{element.type}</span> <span class='bold'>#{element.name}</span>"
|
20
|
-
pre << " <span>#{element_description}</span>" unless element_description.
|
21
|
+
pre << " <span>#{element_description}</span>" unless element_description.blank?
|
21
22
|
pre
|
22
23
|
else
|
23
|
-
create_complex_element_type_html(pre, element)
|
24
|
+
create_complex_element_type_html(pre, element, element_description)
|
24
25
|
end
|
25
26
|
end
|
26
27
|
|
@@ -35,10 +36,12 @@ module WashoutBuilderComplexTypeHelper
|
|
35
36
|
# @return [void]
|
36
37
|
#
|
37
38
|
# @api public
|
38
|
-
def create_complex_element_type_html(pre, element)
|
39
|
+
def create_complex_element_type_html(pre, element, element_description)
|
39
40
|
complex_class = element.find_complex_class_name
|
40
41
|
return if complex_class.nil?
|
41
42
|
complex_class_content = element.multiplied == false ? "#{complex_class}" : "Array of #{complex_class}"
|
42
43
|
pre << "<a href='##{complex_class}'><span class='lightBlue'>#{complex_class_content}</span></a> <span class='bold'>#{element.name}</span>"
|
44
|
+
pre << " <span>#{element_description}</span>" unless element_description.blank?
|
45
|
+
pre
|
43
46
|
end
|
44
47
|
end
|
@@ -13,7 +13,7 @@ xml.p "#{description}" unless description.blank?
|
|
13
13
|
xml.ul {
|
14
14
|
input.each do |element|
|
15
15
|
xml.li("class" => "pre") { |pre|
|
16
|
-
create_element_type_html(pre, element, args_description
|
16
|
+
create_element_type_html(pre, element, args_description)
|
17
17
|
}
|
18
18
|
end
|
19
19
|
}
|
@@ -53,15 +53,15 @@ xml.html( "xmlns" => "http://www.w3.org/1999/xhtml" ) {
|
|
53
53
|
@fault_types = @document.fault_types
|
54
54
|
unless @complex_types.blank?
|
55
55
|
xml.p "Complex Types: "
|
56
|
-
|
56
|
+
|
57
57
|
xml.ul do
|
58
58
|
@complex_types.each do |hash|
|
59
59
|
xml.li { |y| y << "<a href='##{hash[:class]}'><span class='pre'>#{hash[:class]}</span></a>" }
|
60
60
|
end
|
61
61
|
end
|
62
|
-
|
62
|
+
|
63
63
|
end
|
64
|
-
|
64
|
+
|
65
65
|
unless @fault_types.blank?
|
66
66
|
xml.p "Fault Types: "
|
67
67
|
|
@@ -87,13 +87,13 @@ xml.html( "xmlns" => "http://www.w3.org/1999/xhtml" ) {
|
|
87
87
|
|
88
88
|
unless @complex_types.blank?
|
89
89
|
xml.h2 "Complex types:"
|
90
|
-
@complex_types.each { |hash|
|
90
|
+
@complex_types.each { |hash|
|
91
91
|
xml << render(:partial => "wash_with_html/complex_type", :locals => { :object => hash[:obj], :class_name => hash[:class], :ancestors => hash[:ancestors]})
|
92
92
|
}
|
93
93
|
end
|
94
94
|
unless @fault_types.blank?
|
95
95
|
xml.h2 "Fault types:"
|
96
|
-
@fault_types.each { |hash|
|
96
|
+
@fault_types.each { |hash|
|
97
97
|
xml << render(:partial => "wash_with_html/fault_type", :locals => { :object => hash[:fault], :structure => hash[:structure], :ancestors => hash[:ancestors]})
|
98
98
|
}
|
99
99
|
end
|
@@ -101,7 +101,7 @@ xml.html( "xmlns" => "http://www.w3.org/1999/xhtml" ) {
|
|
101
101
|
xml.h2 "Public methods:"
|
102
102
|
@map = @document.sorted_operations
|
103
103
|
unless @map.blank?
|
104
|
-
@map.each { |operation, formats|
|
104
|
+
@map.each { |operation, formats|
|
105
105
|
xml << render(:partial => "wash_with_html/public_method", :locals => {
|
106
106
|
:operation => operation,
|
107
107
|
:input => formats[:in],
|
@@ -112,14 +112,14 @@ xml.html( "xmlns" => "http://www.w3.org/1999/xhtml" ) {
|
|
112
112
|
})
|
113
113
|
}
|
114
114
|
end
|
115
|
-
|
115
|
+
|
116
116
|
end
|
117
|
-
|
117
|
+
|
118
118
|
if @complex_types.blank? && @fault_types.blank? && @methods.blank?
|
119
119
|
xml.p "There are no soap actions defined yet for this service. Please add some actions and try again!"
|
120
120
|
end
|
121
|
-
|
122
|
-
|
121
|
+
|
122
|
+
|
123
123
|
}
|
124
124
|
|
125
125
|
}
|
data/lib/washout_builder.rb
CHANGED
@@ -43,9 +43,8 @@ WashoutBuilder::Type.all_soap_config_classes.each do |controller|
|
|
43
43
|
end
|
44
44
|
|
45
45
|
def self.config
|
46
|
-
original_config.merge(description: nil
|
46
|
+
original_config.merge(description: nil)
|
47
47
|
end
|
48
48
|
end
|
49
49
|
controller.soap_accessor(:description)
|
50
|
-
controller.soap_accessor(:args_description)
|
51
50
|
end
|
@@ -70,14 +70,6 @@ module WashoutBuilder
|
|
70
70
|
config.respond_to?(:description) ? config.description : nil
|
71
71
|
end
|
72
72
|
|
73
|
-
# Returns the service arguments description if the service can respond to args_description method
|
74
|
-
#
|
75
|
-
# @return [String] Returns the service arguments description if the service can respond to args_description method
|
76
|
-
# @api public
|
77
|
-
def service_args_description
|
78
|
-
config.respond_to?(:args_description) ? config.args_description : nil
|
79
|
-
end
|
80
|
-
|
81
73
|
# returns a collection of all operation that the service responds to
|
82
74
|
#
|
83
75
|
# @return [Array<String>] returns a collection of all operation that the service responds to
|
data/lib/washout_builder/soap.rb
CHANGED
@@ -28,12 +28,19 @@ module WashoutBuilder
|
|
28
28
|
action = action.to_s.camelize
|
29
29
|
end
|
30
30
|
end
|
31
|
+
builder_soap_action(action, options)
|
32
|
+
end
|
33
|
+
|
34
|
+
private
|
31
35
|
|
36
|
+
def builder_soap_action(action, options = {})
|
32
37
|
current_action = soap_actions[action]
|
33
38
|
base_param_class = WashoutBuilder::Type.base_param_class
|
34
39
|
return if base_param_class.blank?
|
35
40
|
current_action[:builder_in] = base_param_class.parse_builder_def(soap_config, options[:args])
|
36
41
|
current_action[:builder_out] = base_param_class.parse_builder_def(soap_config, options[:return])
|
42
|
+
current_action[:args_description] = options[:args_description].present? && options[:args_description].is_a?(Hash) ? options[:args_description].stringify_keys : {}
|
43
|
+
current_action
|
37
44
|
end
|
38
45
|
end
|
39
46
|
end
|
@@ -20,7 +20,7 @@ describe WashoutBuilderComplexTypeHelper, type: :helper do
|
|
20
20
|
|
21
21
|
def expect_excluded_type_result(pre, element)
|
22
22
|
WashoutBuilder::Type::BASIC_TYPES.expects(:include?).with(element.type).returns(false)
|
23
|
-
helper.expects(:create_complex_element_type_html).with(pre, element)
|
23
|
+
helper.expects(:create_complex_element_type_html).with(pre, element, nil)
|
24
24
|
helper.create_element_type_html(pre, element, nil)
|
25
25
|
end
|
26
26
|
|
@@ -59,19 +59,19 @@ describe WashoutBuilderComplexTypeHelper, type: :helper do
|
|
59
59
|
end
|
60
60
|
|
61
61
|
it 'returna simple type element description' do
|
62
|
-
result = helper.create_complex_element_type_html(pre, element)
|
62
|
+
result = helper.create_complex_element_type_html(pre, element, nil)
|
63
63
|
expect(result).to eq(["<a href='##{complex_class}'><span class='lightBlue'>#{complex_class}</span></a> <span class='bold'>#{element.name}</span>"])
|
64
64
|
end
|
65
65
|
|
66
66
|
it 'returns an array type element description' do
|
67
67
|
element.stubs(:multiplied).returns(true)
|
68
|
-
result = helper.create_complex_element_type_html(pre, element)
|
68
|
+
result = helper.create_complex_element_type_html(pre, element, nil)
|
69
69
|
expect(result).to eq(["<a href='##{complex_class}'><span class='lightBlue'>Array of #{complex_class}</span></a> <span class='bold'>#{element.name}</span>"])
|
70
70
|
end
|
71
71
|
|
72
72
|
it 'returns empty if no complex class' do
|
73
73
|
element.stubs(:find_complex_class_name).returns(nil)
|
74
|
-
result = helper.create_complex_element_type_html(pre, element)
|
74
|
+
result = helper.create_complex_element_type_html(pre, element, nil)
|
75
75
|
expect(result).to eq(nil)
|
76
76
|
end
|
77
77
|
end
|