wash_out 0.5.3 → 0.5.4

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.
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.5.4
4
+
5
+ * Ability to manually specify `response_tag` for `soap_action` [@inossidabile][]
6
+
3
7
  ## 0.5.2
4
8
 
5
9
  * .NET-compliant response tags [@ebeigarts][]
@@ -6,7 +6,7 @@ xml.tag! "soap:Envelope", "xmlns:soap" => 'http://schemas.xmlsoap.org/soap/envel
6
6
  xml.tag! "soap:Body" do
7
7
  key = "tns:#{@operation}#{WashOut::Engine.camelize_wsdl ? 'Response' : '_response'}"
8
8
 
9
- xml.tag! key do
9
+ xml.tag! @action_spec[:response_tag] do
10
10
  wsdl_data xml, result
11
11
  end
12
12
  end
@@ -104,9 +104,9 @@ module WashOut
104
104
 
105
105
  # Render a SOAP response.
106
106
  def _render_soap(result, options)
107
- @namespace = WashOut::Engine.namespace
108
- @operation = soap_action = request.env['wash_out.soap_action']
109
- action_spec = self.class.soap_actions[soap_action][:out]
107
+ @namespace = WashOut::Engine.namespace
108
+ @operation = soap_action = request.env['wash_out.soap_action']
109
+ @action_spec = self.class.soap_actions[soap_action]
110
110
 
111
111
  result = { 'value' => result } unless result.is_a? Hash
112
112
  result = HashWithIndifferentAccess.new(result)
@@ -151,7 +151,7 @@ module WashOut
151
151
 
152
152
  render :template => 'wash_with_soap/response',
153
153
  :layout => false,
154
- :locals => { :result => inject.call(result, action_spec) },
154
+ :locals => { :result => inject.call(result, @action_spec[:out]) },
155
155
  :content_type => 'text/xml'
156
156
  end
157
157
 
@@ -24,10 +24,14 @@ module WashOut
24
24
  end
25
25
  end
26
26
 
27
+ default_response_tag = WashOut::Engine.camelize_wsdl ? 'Response' : '_response'
28
+ default_response_tag = "tns:#{action}#{default_response_tag}"
29
+
27
30
  self.soap_actions[action] = {
28
- :in => WashOut::Param.parse_def(options[:args]),
29
- :out => WashOut::Param.parse_def(options[:return]),
30
- :to => options[:to] || action
31
+ :in => WashOut::Param.parse_def(options[:args]),
32
+ :out => WashOut::Param.parse_def(options[:return]),
33
+ :to => options[:to] || action,
34
+ :response_tag => options[:response_tag] || default_response_tag
31
35
  }
32
36
  end
33
37
  end
@@ -1,3 +1,3 @@
1
1
  module WashOut
2
- VERSION = "0.5.3"
2
+ VERSION = "0.5.4"
3
3
  end
@@ -136,6 +136,17 @@ describe WashOut do
136
136
  }.should raise_exception(Savon::SOAP::Fault)
137
137
  end
138
138
 
139
+ it "respects :response_tag option" do
140
+ mock_controller do
141
+ soap_action "specific", :response_tag => "test", :return => :string
142
+ def specific
143
+ render :soap => "test"
144
+ end
145
+ end
146
+
147
+ client.request(:specific).to_hash.should == {:test => {:value=>"test"}}
148
+ end
149
+
139
150
  it "should handle snakecase option properly" do
140
151
  WashOut::Engine.snakecase_input = false
141
152
  WashOut::Engine.camelize_wsdl = false
metadata CHANGED
@@ -1,172 +1,133 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: wash_out
3
- version: !ruby/object:Gem::Version
4
- hash: 1063984129097862891
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.4
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 5
9
- - 3
10
- version: 0.5.3
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Boris Staal
14
9
  - Peter Zotov
15
10
  autorequire:
16
11
  bindir: bin
17
12
  cert_chain: []
18
-
19
- date: 2012-12-01 00:00:00 Z
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
13
+ date: 2012-12-11 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
22
16
  name: nori
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: &70206231773920 !ruby/object:Gem::Requirement
25
18
  none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 2002549777813010636
30
- segments:
31
- - 0
32
- version: "0"
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
33
23
  type: :runtime
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: savon
37
24
  prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
25
+ version_requirements: *70206231773920
26
+ - !ruby/object:Gem::Dependency
27
+ name: savon
28
+ requirement: &70206231773180 !ruby/object:Gem::Requirement
39
29
  none: false
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- hash: 2002549777813010636
44
- segments:
45
- - 0
46
- version: "0"
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
47
34
  type: :development
48
- version_requirements: *id002
49
- - !ruby/object:Gem::Dependency
50
- name: rspec-rails
51
35
  prerelease: false
52
- requirement: &id003 !ruby/object:Gem::Requirement
36
+ version_requirements: *70206231773180
37
+ - !ruby/object:Gem::Dependency
38
+ name: rspec-rails
39
+ requirement: &70206231772680 !ruby/object:Gem::Requirement
53
40
  none: false
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
57
- hash: 2002549777813010636
58
- segments:
59
- - 0
60
- version: "0"
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
61
45
  type: :development
62
- version_requirements: *id003
63
- - !ruby/object:Gem::Dependency
64
- name: guard
65
46
  prerelease: false
66
- requirement: &id004 !ruby/object:Gem::Requirement
47
+ version_requirements: *70206231772680
48
+ - !ruby/object:Gem::Dependency
49
+ name: guard
50
+ requirement: &70206231772160 !ruby/object:Gem::Requirement
67
51
  none: false
68
- requirements:
69
- - - ">="
70
- - !ruby/object:Gem::Version
71
- hash: 2002549777813010636
72
- segments:
73
- - 0
74
- version: "0"
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
75
56
  type: :development
76
- version_requirements: *id004
77
- - !ruby/object:Gem::Dependency
78
- name: guard-rspec
79
57
  prerelease: false
80
- requirement: &id005 !ruby/object:Gem::Requirement
58
+ version_requirements: *70206231772160
59
+ - !ruby/object:Gem::Dependency
60
+ name: guard-rspec
61
+ requirement: &70206231771680 !ruby/object:Gem::Requirement
81
62
  none: false
82
- requirements:
83
- - - ">="
84
- - !ruby/object:Gem::Version
85
- hash: 2002549777813010636
86
- segments:
87
- - 0
88
- version: "0"
63
+ requirements:
64
+ - - ! '>='
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
89
67
  type: :development
90
- version_requirements: *id005
91
- - !ruby/object:Gem::Dependency
92
- name: rb-inotify
93
68
  prerelease: false
94
- requirement: &id006 !ruby/object:Gem::Requirement
69
+ version_requirements: *70206231771680
70
+ - !ruby/object:Gem::Dependency
71
+ name: rb-inotify
72
+ requirement: &70206231771200 !ruby/object:Gem::Requirement
95
73
  none: false
96
- requirements:
97
- - - ">="
98
- - !ruby/object:Gem::Version
99
- hash: 2002549777813010636
100
- segments:
101
- - 0
102
- version: "0"
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
103
78
  type: :development
104
- version_requirements: *id006
105
- - !ruby/object:Gem::Dependency
106
- name: rb-fsevent
107
79
  prerelease: false
108
- requirement: &id007 !ruby/object:Gem::Requirement
80
+ version_requirements: *70206231771200
81
+ - !ruby/object:Gem::Dependency
82
+ name: rb-fsevent
83
+ requirement: &70206231770680 !ruby/object:Gem::Requirement
109
84
  none: false
110
- requirements:
111
- - - ">="
112
- - !ruby/object:Gem::Version
113
- hash: 2002549777813010636
114
- segments:
115
- - 0
116
- version: "0"
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
117
89
  type: :development
118
- version_requirements: *id007
119
- - !ruby/object:Gem::Dependency
120
- name: appraisal
121
90
  prerelease: false
122
- requirement: &id008 !ruby/object:Gem::Requirement
91
+ version_requirements: *70206231770680
92
+ - !ruby/object:Gem::Dependency
93
+ name: appraisal
94
+ requirement: &70206231770140 !ruby/object:Gem::Requirement
123
95
  none: false
124
- requirements:
125
- - - ">="
126
- - !ruby/object:Gem::Version
127
- hash: 2002549777813010636
128
- segments:
129
- - 0
130
- version: "0"
96
+ requirements:
97
+ - - ! '>='
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
131
100
  type: :development
132
- version_requirements: *id008
133
- - !ruby/object:Gem::Dependency
134
- name: tzinfo
135
101
  prerelease: false
136
- requirement: &id009 !ruby/object:Gem::Requirement
102
+ version_requirements: *70206231770140
103
+ - !ruby/object:Gem::Dependency
104
+ name: tzinfo
105
+ requirement: &70206231769520 !ruby/object:Gem::Requirement
137
106
  none: false
138
- requirements:
139
- - - ">="
140
- - !ruby/object:Gem::Version
141
- hash: 2002549777813010636
142
- segments:
143
- - 0
144
- version: "0"
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
145
111
  type: :development
146
- version_requirements: *id009
147
- - !ruby/object:Gem::Dependency
148
- name: pry
149
112
  prerelease: false
150
- requirement: &id010 !ruby/object:Gem::Requirement
113
+ version_requirements: *70206231769520
114
+ - !ruby/object:Gem::Dependency
115
+ name: pry
116
+ requirement: &70206231768740 !ruby/object:Gem::Requirement
151
117
  none: false
152
- requirements:
153
- - - ">="
154
- - !ruby/object:Gem::Version
155
- hash: 2002549777813010636
156
- segments:
157
- - 0
158
- version: "0"
118
+ requirements:
119
+ - - ! '>='
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
159
122
  type: :development
160
- version_requirements: *id010
123
+ prerelease: false
124
+ version_requirements: *70206231768740
161
125
  description: Dead simple Rails 3 SOAP server library
162
126
  email: boris@roundlake.ru
163
127
  executables: []
164
-
165
128
  extensions: []
166
-
167
129
  extra_rdoc_files: []
168
-
169
- files:
130
+ files:
170
131
  - .gitignore
171
132
  - .rspec
172
133
  - .travis.yml
@@ -229,36 +190,26 @@ files:
229
190
  - wash_out.gemspec
230
191
  homepage: http://roundlake.github.com/wash_out/
231
192
  licenses: []
232
-
233
193
  post_install_message:
234
194
  rdoc_options: []
235
-
236
- require_paths:
195
+ require_paths:
237
196
  - lib
238
- required_ruby_version: !ruby/object:Gem::Requirement
197
+ required_ruby_version: !ruby/object:Gem::Requirement
239
198
  none: false
240
- requirements:
241
- - - ">="
242
- - !ruby/object:Gem::Version
243
- hash: 2002549777813010636
244
- segments:
245
- - 0
246
- version: "0"
247
- required_rubygems_version: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - ! '>='
201
+ - !ruby/object:Gem::Version
202
+ version: '0'
203
+ required_rubygems_version: !ruby/object:Gem::Requirement
248
204
  none: false
249
- requirements:
250
- - - ">="
251
- - !ruby/object:Gem::Version
252
- hash: 2002549777813010636
253
- segments:
254
- - 0
255
- version: "0"
205
+ requirements:
206
+ - - ! '>='
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
256
209
  requirements: []
257
-
258
210
  rubyforge_project:
259
- rubygems_version: 1.8.24
211
+ rubygems_version: 1.8.15
260
212
  signing_key:
261
213
  specification_version: 3
262
214
  summary: Dead simple Rails 3 SOAP server library
263
215
  test_files: []
264
-