soybean 2.1.3 → 2.1.4
Sign up to get free protection for your applications and to get access to all the features.
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.1.
|
1
|
+
2.1.4
|
@@ -11,4 +11,12 @@ describe <%= class_name %> do
|
|
11
11
|
<%= class_name %>.actions.should eql <%= interface_name %>.actions
|
12
12
|
end
|
13
13
|
|
14
|
+
context 'actions' do
|
15
|
+
<% actions.each do |action, params| %>
|
16
|
+
it '#<%= action %> should not raise NotImplementedError' do
|
17
|
+
expect { subject.send action<%= params ? ', stub' * params.size : '' %> }.to_not raise_error(NotImplementedError)
|
18
|
+
end
|
19
|
+
<% end %>
|
20
|
+
end
|
21
|
+
|
14
22
|
end
|
@@ -9,9 +9,10 @@ module Soybean
|
|
9
9
|
@definitions = definitions
|
10
10
|
@name_creator = name_creator
|
11
11
|
@modulepath = modulepath
|
12
|
+
@porttype = @definitions.porttypes.first
|
12
13
|
end
|
13
14
|
|
14
|
-
def dump
|
15
|
+
def dump
|
15
16
|
result = ""
|
16
17
|
if @modulepath
|
17
18
|
result << "\n"
|
@@ -19,14 +20,7 @@ module Soybean
|
|
19
20
|
result << modulepath.collect { |ele| "module #{ele}" }.join("; ")
|
20
21
|
result << "\n\n"
|
21
22
|
end
|
22
|
-
|
23
|
-
@definitions.porttypes.each do |porttype|
|
24
|
-
result << dump_porttype(porttype)
|
25
|
-
result << "\n"
|
26
|
-
end
|
27
|
-
else
|
28
|
-
result << dump_porttype(porttype)
|
29
|
-
end
|
23
|
+
result << dump_porttype
|
30
24
|
if @modulepath
|
31
25
|
result << "\n\n"
|
32
26
|
modulepath = @modulepath.respond_to?(:lines) ? @modulepath.lines : @modulepath # RubyJedi: compatible with Ruby 1.8.6 and above
|
@@ -40,19 +34,11 @@ module Soybean
|
|
40
34
|
(@definitions.name.name.gsub(/Service$/, '') rescue 'Base') + 'Interface'
|
41
35
|
end
|
42
36
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
assigned_method = collect_assigned_method(@definitions, porttype.name, @modulepath)
|
47
|
-
class_name = mapped_class_basename(porttype.name, @modulepath)
|
48
|
-
c = XSD::CodeGen::ClassDef.new(class_name, 'Soybean::Interface')
|
49
|
-
methoddef = WSDL::SOAP::MethodDefCreator.new(@definitions, @name_creator, @modulepath, {}).dump(porttype.name)
|
50
|
-
c.def_code %Q{Methods = [\n#{methoddef.gsub(/^/, " ")}\n]}
|
51
|
-
|
52
|
-
element_definitions = @definitions.collect_elements
|
53
|
-
binding = porttype.find_binding
|
37
|
+
def actions
|
38
|
+
assigned_method = collect_assigned_method(@definitions, @porttype.name, @modulepath)
|
39
|
+
binding = @porttype.find_binding
|
54
40
|
if binding
|
55
|
-
binding.operations.
|
41
|
+
binding.operations.map do |op_bind|
|
56
42
|
operation = op_bind.find_operation
|
57
43
|
if operation.nil?
|
58
44
|
warn("operation not found for binding: #{op_bind}")
|
@@ -64,18 +50,68 @@ module Soybean
|
|
64
50
|
params = input.find_message.parts.collect { |part|
|
65
51
|
safevarname(part.name)
|
66
52
|
}
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
53
|
+
[methodname.underscore, params, operation]
|
54
|
+
end
|
55
|
+
else
|
56
|
+
[]
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
private
|
61
|
+
|
62
|
+
def dump_porttype
|
63
|
+
class_name = mapped_class_basename(@porttype.name, @modulepath)
|
64
|
+
c = XSD::CodeGen::ClassDef.new(class_name, 'Soybean::Interface')
|
65
|
+
methoddef = MethodDefCreator.new(@definitions, @name_creator, @modulepath, {}).dump(@porttype.name)
|
66
|
+
c.def_code %Q{Methods = [\n#{methoddef.gsub(/^/, " ")}\n]}
|
67
|
+
|
68
|
+
element_definitions = @definitions.collect_elements
|
69
|
+
actions.each do |method_name, params, operation|
|
70
|
+
m = XSD::CodeGen::MethodDef.new(method_name, params) do
|
71
|
+
<<-EOD
|
72
|
+
p [#{params.join(", ")}]
|
73
|
+
raise NotImplementedError.new
|
74
|
+
EOD
|
75
75
|
end
|
76
|
+
m.comment = dump_method_signature(method_name, operation, element_definitions)
|
77
|
+
c.add_method(m)
|
76
78
|
end
|
79
|
+
|
77
80
|
c.dump
|
78
81
|
end
|
79
82
|
|
83
|
+
class MethodDefCreator < WSDL::SOAP::MethodDefCreator
|
84
|
+
private
|
85
|
+
def dump_method(mdef)
|
86
|
+
style = mdef.style
|
87
|
+
inputuse = mdef.inputuse
|
88
|
+
outputuse = mdef.outputuse
|
89
|
+
paramstr = param2str(mdef.parameters)
|
90
|
+
if paramstr.empty?
|
91
|
+
paramstr = '[]'
|
92
|
+
else
|
93
|
+
paramstr = "[ " << paramstr.split(/\r?\n/).join("\n ") << " ]"
|
94
|
+
end
|
95
|
+
definitions = <<__EOD__
|
96
|
+
#{ndq(mdef.soapaction)},
|
97
|
+
#{dq(mdef.name).underscore},
|
98
|
+
#{paramstr},
|
99
|
+
{ :request_style => #{nsym(style)}, :request_use => #{nsym(inputuse)},
|
100
|
+
:response_style => #{nsym(style)}, :response_use => #{nsym(outputuse)},
|
101
|
+
:faults => #{mdef.faults.inspect} }
|
102
|
+
__EOD__
|
103
|
+
if style == :rpc
|
104
|
+
assign_const(mdef.qname.namespace, 'Ns')
|
105
|
+
return <<__EOD__
|
106
|
+
[ #{dqname(mdef.qname)},
|
107
|
+
#{definitions}]
|
108
|
+
__EOD__
|
109
|
+
else
|
110
|
+
return <<__EOD__
|
111
|
+
[ #{definitions}]
|
112
|
+
__EOD__
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
80
116
|
end
|
81
117
|
end
|
data/soybean.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: soybean
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -14,7 +14,7 @@ default_executable: soybean
|
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: thor
|
17
|
-
requirement: &
|
17
|
+
requirement: &18250000 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *18250000
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: activesupport
|
28
|
-
requirement: &
|
28
|
+
requirement: &18248200 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: '3.1'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *18248200
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: i18n
|
39
|
-
requirement: &
|
39
|
+
requirement: &18247640 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: '0'
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *18247640
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: rspec
|
50
|
-
requirement: &
|
50
|
+
requirement: &18246900 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ~>
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: 2.3.0
|
56
56
|
type: :development
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *18246900
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: yard
|
61
|
-
requirement: &
|
61
|
+
requirement: &18246020 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ~>
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: 0.6.0
|
67
67
|
type: :development
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *18246020
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: bundler
|
72
|
-
requirement: &
|
72
|
+
requirement: &18230280 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ~>
|
@@ -77,10 +77,10 @@ dependencies:
|
|
77
77
|
version: 1.0.0
|
78
78
|
type: :development
|
79
79
|
prerelease: false
|
80
|
-
version_requirements: *
|
80
|
+
version_requirements: *18230280
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: jeweler
|
83
|
-
requirement: &
|
83
|
+
requirement: &18229440 !ruby/object:Gem::Requirement
|
84
84
|
none: false
|
85
85
|
requirements:
|
86
86
|
- - ~>
|
@@ -88,10 +88,10 @@ dependencies:
|
|
88
88
|
version: 1.6.4
|
89
89
|
type: :development
|
90
90
|
prerelease: false
|
91
|
-
version_requirements: *
|
91
|
+
version_requirements: *18229440
|
92
92
|
- !ruby/object:Gem::Dependency
|
93
93
|
name: rcov
|
94
|
-
requirement: &
|
94
|
+
requirement: &18228860 !ruby/object:Gem::Requirement
|
95
95
|
none: false
|
96
96
|
requirements:
|
97
97
|
- - ! '>='
|
@@ -99,7 +99,7 @@ dependencies:
|
|
99
99
|
version: '0'
|
100
100
|
type: :development
|
101
101
|
prerelease: false
|
102
|
-
version_requirements: *
|
102
|
+
version_requirements: *18228860
|
103
103
|
description: ! 'Generate soap web-services from you wsdl. Generate: all classes from
|
104
104
|
xsd, and other.'
|
105
105
|
email: a.sozontov@gmail.com
|
@@ -312,7 +312,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
312
312
|
version: '0'
|
313
313
|
segments:
|
314
314
|
- 0
|
315
|
-
hash:
|
315
|
+
hash: 1732627524973815179
|
316
316
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
317
317
|
none: false
|
318
318
|
requirements:
|