wash_out 0.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. data/.gitignore +9 -0
  2. data/Appraisals +7 -0
  3. data/Gemfile +3 -0
  4. data/Gemfile.lock +102 -0
  5. data/README.md +85 -0
  6. data/Rakefile +14 -0
  7. data/app/helpers/wash_out_helper.rb +14 -14
  8. data/app/views/wash_with_soap/error.builder +2 -2
  9. data/app/views/wash_with_soap/response.builder +2 -2
  10. data/app/views/wash_with_soap/wsdl.builder +19 -29
  11. data/gemfiles/rails-3.0.10.gemfile +7 -0
  12. data/gemfiles/rails-3.0.10.gemfile.lock +121 -0
  13. data/gemfiles/rails-3.1.0.gemfile +7 -0
  14. data/gemfiles/rails-3.1.0.gemfile.lock +134 -0
  15. data/init.rb +1 -19
  16. data/lib/wash_out/dispatcher.rb +55 -24
  17. data/lib/wash_out/engine.rb +4 -0
  18. data/lib/wash_out/param.rb +74 -42
  19. data/lib/wash_out/soap.rb +30 -0
  20. data/lib/wash_out/version.rb +3 -0
  21. data/lib/wash_out.rb +19 -0
  22. data/spec/dummy/Rakefile +7 -0
  23. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  24. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  25. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  26. data/spec/dummy/config/application.rb +42 -0
  27. data/spec/dummy/config/boot.rb +10 -0
  28. data/spec/dummy/config/environment.rb +5 -0
  29. data/spec/dummy/config/environments/development.rb +23 -0
  30. data/spec/dummy/config/environments/test.rb +30 -0
  31. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  32. data/spec/dummy/config/initializers/inflections.rb +10 -0
  33. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  34. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  35. data/spec/dummy/config/initializers/session_store.rb +8 -0
  36. data/spec/dummy/config/locales/en.yml +5 -0
  37. data/spec/dummy/config/routes.rb +58 -0
  38. data/spec/dummy/config.ru +4 -0
  39. data/spec/dummy/public/404.html +26 -0
  40. data/spec/dummy/public/422.html +26 -0
  41. data/spec/dummy/public/500.html +26 -0
  42. data/spec/dummy/public/favicon.ico +0 -0
  43. data/spec/dummy/public/stylesheets/.gitkeep +0 -0
  44. data/spec/dummy/script/rails +6 -0
  45. data/spec/spec_helper.rb +38 -0
  46. data/spec/support/httpi-rack.rb +34 -0
  47. data/spec/support/mock_controller.rb +34 -0
  48. data/spec/wash_out_spec.rb +98 -0
  49. data/wash_out.gemspec +12 -8
  50. metadata +82 -9
  51. data/README.rdoc +0 -55
  52. data/lib/wash_out/wash_with_soap.rb +0 -24
data/.gitignore ADDED
@@ -0,0 +1,9 @@
1
+ .bundle/
2
+ .idea/
3
+ log/*.log
4
+ pkg/
5
+ spec/dummy/db/*.sqlite3
6
+ spec/dummy/log/*.log
7
+ spec/dummy/tmp/
8
+ gemfiles/rails-3.1.0.gemfile.lock b/gemfiles/rails-3.1.0.gemfile.lock
9
+ gemfiles/rails-3.1.0.gemfile.lock b/gemfiles/rails-3.0.10.gemfile.lock
data/Appraisals ADDED
@@ -0,0 +1,7 @@
1
+ appraise "rails-3.1.0" do
2
+ gem "rails", "3.1.0"
3
+ end
4
+
5
+ appraise "rails-3.0.10" do
6
+ gem "rails", "3.0.10"
7
+ end
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source "http://rubygems.org"
2
+
3
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,102 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ wash_out (0.1)
5
+
6
+ GEM
7
+ remote: http://rubygems.org/
8
+ specs:
9
+ actionpack (3.1.2)
10
+ activemodel (= 3.1.2)
11
+ activesupport (= 3.1.2)
12
+ builder (~> 3.0.0)
13
+ erubis (~> 2.7.0)
14
+ i18n (~> 0.6)
15
+ rack (~> 1.3.5)
16
+ rack-cache (~> 1.1)
17
+ rack-mount (~> 0.8.2)
18
+ rack-test (~> 0.6.1)
19
+ sprockets (~> 2.1.0)
20
+ activemodel (3.1.2)
21
+ activesupport (= 3.1.2)
22
+ builder (~> 3.0.0)
23
+ i18n (~> 0.6)
24
+ activesupport (3.1.2)
25
+ multi_json (~> 1.0)
26
+ akami (1.0.0)
27
+ gyoku (>= 0.4.0)
28
+ appraisal (0.4.0)
29
+ bundler
30
+ rake
31
+ builder (3.0.0)
32
+ diff-lcs (1.1.3)
33
+ erubis (2.7.0)
34
+ gyoku (0.4.4)
35
+ builder (>= 2.1.2)
36
+ hike (1.2.1)
37
+ httpi (0.9.5)
38
+ rack
39
+ i18n (0.6.0)
40
+ json (1.6.1)
41
+ multi_json (1.0.3)
42
+ nokogiri (1.5.0)
43
+ nori (1.0.2)
44
+ rack (1.3.5)
45
+ rack-cache (1.1)
46
+ rack (>= 0.4)
47
+ rack-mount (0.8.3)
48
+ rack (>= 1.0.0)
49
+ rack-ssl (1.3.2)
50
+ rack
51
+ rack-test (0.6.1)
52
+ rack (>= 1.0)
53
+ railties (3.1.2)
54
+ actionpack (= 3.1.2)
55
+ activesupport (= 3.1.2)
56
+ rack-ssl (~> 1.3.2)
57
+ rake (>= 0.8.7)
58
+ rdoc (~> 3.4)
59
+ thor (~> 0.14.6)
60
+ rake (0.9.2.2)
61
+ rdoc (3.11)
62
+ json (~> 1.4)
63
+ rspec (2.7.0)
64
+ rspec-core (~> 2.7.0)
65
+ rspec-expectations (~> 2.7.0)
66
+ rspec-mocks (~> 2.7.0)
67
+ rspec-core (2.7.1)
68
+ rspec-expectations (2.7.0)
69
+ diff-lcs (~> 1.1.2)
70
+ rspec-mocks (2.7.0)
71
+ rspec-rails (2.7.0)
72
+ actionpack (~> 3.0)
73
+ activesupport (~> 3.0)
74
+ railties (~> 3.0)
75
+ rspec (~> 2.7.0)
76
+ savon (0.9.7)
77
+ akami (~> 1.0)
78
+ builder (>= 2.1.2)
79
+ gyoku (>= 0.4.0)
80
+ httpi (~> 0.9)
81
+ nokogiri (>= 1.4.0)
82
+ nori (~> 1.0)
83
+ wasabi (~> 2.0)
84
+ sprockets (2.1.1)
85
+ hike (~> 1.2)
86
+ rack (~> 1.0)
87
+ tilt (~> 1.1, != 1.3.0)
88
+ thor (0.14.6)
89
+ tilt (1.3.3)
90
+ tzinfo (0.3.31)
91
+ wasabi (2.0.0)
92
+ nokogiri (>= 1.4.0)
93
+
94
+ PLATFORMS
95
+ ruby
96
+
97
+ DEPENDENCIES
98
+ appraisal
99
+ rspec-rails
100
+ savon
101
+ tzinfo
102
+ wash_out!
data/README.md ADDED
@@ -0,0 +1,85 @@
1
+ Wash Out
2
+ ========
3
+
4
+ Wash Out is a gem that greatly simplifies creation of SOAP service providers.
5
+
6
+ Installation
7
+ ------------
8
+
9
+ $ gem install wash_out
10
+
11
+ Usage
12
+ -----
13
+
14
+ A SOAP endpoint in WashOut is simply a Rails controller which includes the module WashOut::SOAP. Each SOAP
15
+ action corresponds to a certain controller method; this mapping, as well as the argument definition, is defined
16
+ by [soap_action][] method. Check the method documentation for complete info; here,
17
+ only a few examples will be demonstrated.
18
+
19
+ [soap_action]: #
20
+
21
+ ```ruby
22
+ # app/controllers/api_controller.rb
23
+ class ApiController < ApplicationController
24
+ include WashOut::SOAP
25
+
26
+ soap_action "integer_to_string",
27
+ :args => :integer,
28
+ :return => :string
29
+ def integer_to_string(value)
30
+ render :soap => value.to_s
31
+ end
32
+
33
+ soap_action "concat",
34
+ :args => { :a => :string, :b => :string }
35
+ :return => :string
36
+ def concat(a, b)
37
+ render :soap => (a + b)
38
+ end
39
+
40
+ soap_action "AddCircle",
41
+ :args => { :circle => { :center => { :x => :integer,
42
+ :y => :integer },
43
+ :radius => :float } },
44
+ :return => [],
45
+ :to => :add_circle
46
+ def add_circle(circle)
47
+ raise SOAPError, "radius is too small" if circle[:radius] < 3.0
48
+
49
+ Circle.new(circle[:center][:x], circle[:center][:y], circle[:radius])
50
+
51
+ render :soap => nil
52
+ end
53
+ end
54
+ ```
55
+
56
+ ```ruby
57
+ # config/routes.rb
58
+ HelloWorld::Application.routes.draw do
59
+ wash_out :api
60
+ end
61
+ ```
62
+
63
+ License
64
+ -------
65
+
66
+ Copyright (C) 2011 by Boris Staal <boris@roundlake.ru>,
67
+ Peter Zotov <p.zotov@roundlake.ru>.
68
+
69
+ Permission is hereby granted, free of charge, to any person obtaining a copy
70
+ of this software and associated documentation files (the "Software"), to deal
71
+ in the Software without restriction, including without limitation the rights
72
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
73
+ copies of the Software, and to permit persons to whom the Software is
74
+ furnished to do so, subject to the following conditions:
75
+
76
+ The above copyright notice and this permission notice shall be included in
77
+ all copies or substantial portions of the Software.
78
+
79
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
80
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
81
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
82
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
83
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
84
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
85
+ THE SOFTWARE.
data/Rakefile ADDED
@@ -0,0 +1,14 @@
1
+ require 'bundler/setup'
2
+ require 'bundler/gem_tasks'
3
+ require 'appraisal'
4
+ require 'rspec/core/rake_task'
5
+
6
+ RSpec::Core::RakeTask.new(:spec)
7
+
8
+ desc "Default: run the unit tests."
9
+ task :default => [:all]
10
+
11
+ desc 'Test the plugin under all supported Rails versions.'
12
+ task :all => ["appraisal:install"] do |t|
13
+ exec('rake appraisal spec')
14
+ end
@@ -1,41 +1,41 @@
1
1
  module WashOutHelper
2
2
  def wsdl_data(xml, param)
3
- if param.struct?
4
- param.value.values.each do |p|
5
- wsdl_data xml, p
6
- end
3
+ if param.is_a? Hash
4
+ wsdl_data xml, param.map
7
5
  else
8
- xml.tag! param.name, param.value.to_s
6
+ param.each do |opt, value|
7
+ xml.tag! opt.name, value.to_s
8
+ end
9
9
  end
10
10
  end
11
-
11
+
12
12
  def wsdl_type(xml, param)
13
13
  more = []
14
-
14
+
15
15
  if param.struct?
16
16
  return if param.value.blank?
17
-
17
+
18
18
  xml.complexType :name => param.name do
19
19
  xml.sequence do
20
- param.value.each do |key, value|
20
+ param.map.each do |key, value|
21
21
  more << value if value.struct?
22
22
  xml.element wsdl_occurence(value, :name => key, :type => value.namespaced_type)
23
23
  end
24
24
  end
25
25
  end
26
26
  end
27
-
27
+
28
28
  more.each do |p|
29
29
  wsdl_type xml, p
30
30
  end
31
31
  end
32
-
32
+
33
33
  def wsdl_occurence(param, extend_with = {})
34
34
  data = !param.multiplied ? {} : {
35
35
  :minOccurs => 0,
36
36
  :maxOccurs => 'unbounded'
37
37
  }
38
-
39
- return extend_with.merge(data)
38
+
39
+ extend_with.merge(data)
40
40
  end
41
- end
41
+ end
@@ -4,7 +4,7 @@ xml.Envelope "xmlns:xsi" => 'http://www.w3.org/2001/XMLSchema-instance',
4
4
  xml.Body do
5
5
  xml.Fault :encodingStyle => 'http://schemas.xmlsoap.org/soap/encoding/' do
6
6
  xml.faultcode "Server", 'xsi:type' => 'xsd:QName'
7
- xml.faultstring @error, 'xsi:type' => 'xsd:string'
7
+ xml.faultstring error_message, 'xsi:type' => 'xsd:string'
8
8
  end
9
9
  end
10
- end
10
+ end
@@ -2,6 +2,6 @@ xml.instruct!
2
2
  xml.Envelope "xmlns:xsi" => 'http://www.w3.org/2001/XMLSchema-instance',
3
3
  :xmlns => 'http://schemas.xmlsoap.org/soap/envelope/' do
4
4
  xml.Body do
5
- wsdl_data xml, @result
5
+ wsdl_data xml, result
6
6
  end
7
- end
7
+ end
@@ -1,6 +1,6 @@
1
1
  xml.instruct!
2
- xml.definitions 'xmlns:xsd' => 'http://www.w3.org/2001/XMLSchema',
3
- 'xmlns:soap' => 'http://schemas.xmlsoap.org/wsdl/soap/',
2
+ xml.definitions 'xmlns:xsd' => 'http://www.w3.org/2001/XMLSchema',
3
+ 'xmlns:soap' => 'http://schemas.xmlsoap.org/wsdl/soap/',
4
4
  'xmlns:soapenc' => 'http://schemas.xmlsoap.org/soap/encoding/',
5
5
  'xmlns:wsdl' => 'http://schemas.xmlsoap.org/wsdl/',
6
6
  'xmlns:typens' => @namespace,
@@ -8,68 +8,58 @@ xml.definitions 'xmlns:xsd' => 'http://www.w3.org/2001/XMLSchema',
8
8
  'xmlns' => 'http://schemas.xmlsoap.org/wsdl/' do
9
9
  xml.types do
10
10
  xml.tag! "xsd:schema", :xmlns => 'http://www.w3.org/2001/XMLSchema', :targetNamespace => @namespace
11
-
11
+
12
12
  @map.each do |operation, formats|
13
- formats.each do |kind, params|
14
- if params.struct?
15
- params.value.each{|foo, p| wsdl_type xml, p}
16
- end
13
+ formats[:in].each do |p|
14
+ wsdl_type xml, p
17
15
  end
18
16
  end
19
17
  end
20
-
18
+
21
19
  @map.each do |operation, formats|
22
20
  xml.message :name => "#{operation}" do
23
- if formats[:in].struct?
24
- formats[:in].value.each do |name, p|
25
- xml.part wsdl_occurence(p, :name => p.name, :type => p.namespaced_type)
26
- end
27
- else
28
- xml.part wsdl_occurence(formats[:in], :name => operation, :type => formats[:in].namespaced_type)
21
+ formats[:in].each do |p|
22
+ xml.part wsdl_occurence(p, :name => p.name, :type => p.namespaced_type)
29
23
  end
30
24
  end
31
- xml.message :name => "#{operation}_responce" do
32
- if formats[:out].struct?
33
- formats[:out].value.each do |name, p|
34
- xml.part wsdl_occurence(p, :name => p.name, :type => p.namespaced_type)
35
- end
36
- else
37
- xml.part wsdl_occurence(formats[:out], :name => operation, :type => formats[:out].namespaced_type)
25
+ xml.message :name => "#{operation}_response" do
26
+ formats[:out].each do |p|
27
+ xml.part wsdl_occurence(p, :name => p.name, :type => p.namespaced_type)
38
28
  end
39
29
  end
40
30
  end
41
-
31
+
42
32
  xml.portType :name => "#{@name}_port" do
43
33
  @map.keys.each do |operation|
44
34
  xml.operation :name => operation do
45
35
  xml.input :message => "typens:#{operation}"
46
- xml.otput :message => "typens:#{operation}_responce"
36
+ xml.output :message => "typens:#{operation}_response"
47
37
  end
48
38
  end
49
39
  end
50
-
40
+
51
41
  xml.binding :name => "#{@name}_binding", :type => "typens:#{@name}_port" do
52
42
  xml.tag! "soap:binding", :style => 'rpc', :transport => 'http://schemas.xmlsoap.org/soap/http'
53
43
  @map.keys.each do |operation|
54
44
  xml.operation :name => operation do
55
45
  xml.tag! "soap:operation", :soapAction => operation
56
46
  xml.input do
57
- xml.tag! "soap:body",
47
+ xml.tag! "soap:body",
58
48
  :use => "encoded", :encodingStyle => 'http://schemas.xmlsoap.org/soap/encoding/',
59
49
  :namespace => @namespace
60
50
  end
61
51
  xml.output do
62
- xml.tag! "soap:body",
52
+ xml.tag! "soap:body",
63
53
  :use => "encoded", :encodingStyle => 'http://schemas.xmlsoap.org/soap/encoding/',
64
54
  :namespace => @namespace
65
55
  end
66
56
  end
67
57
  end
68
58
  end
69
-
59
+
70
60
  xml.service :name => "service" do
71
61
  xml.port :name => "#{@name}_port", :binding => "#{@name}_binding" do
72
- xml.tag! "soap:address", :location => url_for(:action => :soap, :only_path => false)
62
+ xml.tag! "soap:address", :location => url_for(:action => '_action', :only_path => false)
73
63
  end
74
64
  end
75
- end
65
+ end
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "http://rubygems.org"
4
+
5
+ gem "rails", "3.0.10"
6
+
7
+ gemspec :path=>"../"
@@ -0,0 +1,121 @@
1
+ PATH
2
+ remote: /home/whitequark/wash_out
3
+ specs:
4
+ wash_out (0.1)
5
+
6
+ GEM
7
+ remote: http://rubygems.org/
8
+ specs:
9
+ abstract (1.0.0)
10
+ actionmailer (3.0.10)
11
+ actionpack (= 3.0.10)
12
+ mail (~> 2.2.19)
13
+ actionpack (3.0.10)
14
+ activemodel (= 3.0.10)
15
+ activesupport (= 3.0.10)
16
+ builder (~> 2.1.2)
17
+ erubis (~> 2.6.6)
18
+ i18n (~> 0.5.0)
19
+ rack (~> 1.2.1)
20
+ rack-mount (~> 0.6.14)
21
+ rack-test (~> 0.5.7)
22
+ tzinfo (~> 0.3.23)
23
+ activemodel (3.0.10)
24
+ activesupport (= 3.0.10)
25
+ builder (~> 2.1.2)
26
+ i18n (~> 0.5.0)
27
+ activerecord (3.0.10)
28
+ activemodel (= 3.0.10)
29
+ activesupport (= 3.0.10)
30
+ arel (~> 2.0.10)
31
+ tzinfo (~> 0.3.23)
32
+ activeresource (3.0.10)
33
+ activemodel (= 3.0.10)
34
+ activesupport (= 3.0.10)
35
+ activesupport (3.0.10)
36
+ akami (1.0.0)
37
+ gyoku (>= 0.4.0)
38
+ appraisal (0.4.0)
39
+ bundler
40
+ rake
41
+ arel (2.0.10)
42
+ builder (2.1.2)
43
+ diff-lcs (1.1.3)
44
+ erubis (2.6.6)
45
+ abstract (>= 1.0.0)
46
+ gyoku (0.4.4)
47
+ builder (>= 2.1.2)
48
+ httpi (0.9.5)
49
+ rack
50
+ i18n (0.5.0)
51
+ json (1.6.1)
52
+ mail (2.2.19)
53
+ activesupport (>= 2.3.6)
54
+ i18n (>= 0.4.0)
55
+ mime-types (~> 1.16)
56
+ treetop (~> 1.4.8)
57
+ mime-types (1.17.2)
58
+ nokogiri (1.5.0)
59
+ nori (1.0.2)
60
+ polyglot (0.3.3)
61
+ rack (1.2.4)
62
+ rack-mount (0.6.14)
63
+ rack (>= 1.0.0)
64
+ rack-test (0.5.7)
65
+ rack (>= 1.0)
66
+ rails (3.0.10)
67
+ actionmailer (= 3.0.10)
68
+ actionpack (= 3.0.10)
69
+ activerecord (= 3.0.10)
70
+ activeresource (= 3.0.10)
71
+ activesupport (= 3.0.10)
72
+ bundler (~> 1.0)
73
+ railties (= 3.0.10)
74
+ railties (3.0.10)
75
+ actionpack (= 3.0.10)
76
+ activesupport (= 3.0.10)
77
+ rake (>= 0.8.7)
78
+ rdoc (~> 3.4)
79
+ thor (~> 0.14.4)
80
+ rake (0.9.2.2)
81
+ rdoc (3.11)
82
+ json (~> 1.4)
83
+ rspec (2.7.0)
84
+ rspec-core (~> 2.7.0)
85
+ rspec-expectations (~> 2.7.0)
86
+ rspec-mocks (~> 2.7.0)
87
+ rspec-core (2.7.1)
88
+ rspec-expectations (2.7.0)
89
+ diff-lcs (~> 1.1.2)
90
+ rspec-mocks (2.7.0)
91
+ rspec-rails (2.7.0)
92
+ actionpack (~> 3.0)
93
+ activesupport (~> 3.0)
94
+ railties (~> 3.0)
95
+ rspec (~> 2.7.0)
96
+ savon (0.9.7)
97
+ akami (~> 1.0)
98
+ builder (>= 2.1.2)
99
+ gyoku (>= 0.4.0)
100
+ httpi (~> 0.9)
101
+ nokogiri (>= 1.4.0)
102
+ nori (~> 1.0)
103
+ wasabi (~> 2.0)
104
+ thor (0.14.6)
105
+ treetop (1.4.10)
106
+ polyglot
107
+ polyglot (>= 0.3.1)
108
+ tzinfo (0.3.31)
109
+ wasabi (2.0.0)
110
+ nokogiri (>= 1.4.0)
111
+
112
+ PLATFORMS
113
+ ruby
114
+
115
+ DEPENDENCIES
116
+ appraisal
117
+ rails (= 3.0.10)
118
+ rspec-rails
119
+ savon
120
+ tzinfo
121
+ wash_out!
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "http://rubygems.org"
4
+
5
+ gem "rails", "3.1.0"
6
+
7
+ gemspec :path=>"../"
@@ -0,0 +1,134 @@
1
+ PATH
2
+ remote: /Users/lovchy/Sites/wash_out
3
+ specs:
4
+ wash_out (0.1)
5
+
6
+ GEM
7
+ remote: http://rubygems.org/
8
+ specs:
9
+ actionmailer (3.1.0)
10
+ actionpack (= 3.1.0)
11
+ mail (~> 2.3.0)
12
+ actionpack (3.1.0)
13
+ activemodel (= 3.1.0)
14
+ activesupport (= 3.1.0)
15
+ builder (~> 3.0.0)
16
+ erubis (~> 2.7.0)
17
+ i18n (~> 0.6)
18
+ rack (~> 1.3.2)
19
+ rack-cache (~> 1.0.3)
20
+ rack-mount (~> 0.8.2)
21
+ rack-test (~> 0.6.1)
22
+ sprockets (~> 2.0.0)
23
+ activemodel (3.1.0)
24
+ activesupport (= 3.1.0)
25
+ bcrypt-ruby (~> 3.0.0)
26
+ builder (~> 3.0.0)
27
+ i18n (~> 0.6)
28
+ activerecord (3.1.0)
29
+ activemodel (= 3.1.0)
30
+ activesupport (= 3.1.0)
31
+ arel (~> 2.2.1)
32
+ tzinfo (~> 0.3.29)
33
+ activeresource (3.1.0)
34
+ activemodel (= 3.1.0)
35
+ activesupport (= 3.1.0)
36
+ activesupport (3.1.0)
37
+ multi_json (~> 1.0)
38
+ akami (1.0.0)
39
+ gyoku (>= 0.4.0)
40
+ appraisal (0.4.0)
41
+ bundler
42
+ rake
43
+ arel (2.2.1)
44
+ bcrypt-ruby (3.0.1)
45
+ builder (3.0.0)
46
+ diff-lcs (1.1.3)
47
+ erubis (2.7.0)
48
+ gyoku (0.4.4)
49
+ builder (>= 2.1.2)
50
+ hike (1.2.1)
51
+ httpi (0.9.5)
52
+ rack
53
+ i18n (0.6.0)
54
+ json (1.6.1)
55
+ mail (2.3.0)
56
+ i18n (>= 0.4.0)
57
+ mime-types (~> 1.16)
58
+ treetop (~> 1.4.8)
59
+ mime-types (1.17.2)
60
+ multi_json (1.0.3)
61
+ nokogiri (1.5.0)
62
+ nori (1.0.2)
63
+ polyglot (0.3.3)
64
+ rack (1.3.5)
65
+ rack-cache (1.0.3)
66
+ rack (>= 0.4)
67
+ rack-mount (0.8.3)
68
+ rack (>= 1.0.0)
69
+ rack-ssl (1.3.2)
70
+ rack
71
+ rack-test (0.6.1)
72
+ rack (>= 1.0)
73
+ rails (3.1.0)
74
+ actionmailer (= 3.1.0)
75
+ actionpack (= 3.1.0)
76
+ activerecord (= 3.1.0)
77
+ activeresource (= 3.1.0)
78
+ activesupport (= 3.1.0)
79
+ bundler (~> 1.0)
80
+ railties (= 3.1.0)
81
+ railties (3.1.0)
82
+ actionpack (= 3.1.0)
83
+ activesupport (= 3.1.0)
84
+ rack-ssl (~> 1.3.2)
85
+ rake (>= 0.8.7)
86
+ rdoc (~> 3.4)
87
+ thor (~> 0.14.6)
88
+ rake (0.9.2.2)
89
+ rdoc (3.11)
90
+ json (~> 1.4)
91
+ rspec (2.7.0)
92
+ rspec-core (~> 2.7.0)
93
+ rspec-expectations (~> 2.7.0)
94
+ rspec-mocks (~> 2.7.0)
95
+ rspec-core (2.7.1)
96
+ rspec-expectations (2.7.0)
97
+ diff-lcs (~> 1.1.2)
98
+ rspec-mocks (2.7.0)
99
+ rspec-rails (2.7.0)
100
+ actionpack (~> 3.0)
101
+ activesupport (~> 3.0)
102
+ railties (~> 3.0)
103
+ rspec (~> 2.7.0)
104
+ savon (0.9.7)
105
+ akami (~> 1.0)
106
+ builder (>= 2.1.2)
107
+ gyoku (>= 0.4.0)
108
+ httpi (~> 0.9)
109
+ nokogiri (>= 1.4.0)
110
+ nori (~> 1.0)
111
+ wasabi (~> 2.0)
112
+ sprockets (2.0.3)
113
+ hike (~> 1.2)
114
+ rack (~> 1.0)
115
+ tilt (~> 1.1, != 1.3.0)
116
+ thor (0.14.6)
117
+ tilt (1.3.3)
118
+ treetop (1.4.10)
119
+ polyglot
120
+ polyglot (>= 0.3.1)
121
+ tzinfo (0.3.31)
122
+ wasabi (2.0.0)
123
+ nokogiri (>= 1.4.0)
124
+
125
+ PLATFORMS
126
+ ruby
127
+
128
+ DEPENDENCIES
129
+ appraisal
130
+ rails (= 3.1.0)
131
+ rspec-rails
132
+ savon
133
+ tzinfo
134
+ wash_out!
data/init.rb CHANGED
@@ -1,19 +1 @@
1
- require 'crack/xml'
2
- require 'wash_out/param'
3
- require 'wash_out/dispatcher'
4
- require 'wash_out/wash_with_soap'
5
-
6
- ActionController::Base.class_eval do
7
- include WashOut::WashWithSoap
8
- end
9
-
10
- ActionController::Base.helper(WashOutHelper)
11
-
12
- module ActionDispatch::Routing
13
- class Mapper
14
- def wash_with_soap(controller)
15
- match "#{controller.to_s}/wsdl" => "#{controller.to_s}#wsdl"
16
- match "#{controller.to_s}/soap" => "#{controller.to_s}#soap"
17
- end
18
- end
19
- end
1
+ require 'wash_out'