wash_out 0.7.0 → 0.7.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 19fe1a666c510fa52e22b9c31a93a38424d2aa32
4
- data.tar.gz: 1c01364f646262f102e61b6aa810fcf94fdf4f6a
3
+ metadata.gz: ca6963ee1f4445ab11f6d46c675f3544b9b133cc
4
+ data.tar.gz: 5433459cb3d35b9928d840f4fa80f3259b8521f7
5
5
  SHA512:
6
- metadata.gz: 13d6e1f2e7d3bc7a9dd6ce4733b54ae7a676fc92c301e88c6dd5744a7fe989f7c980e5b84702eee31adc119914fbbb1aa9feb0b178f85a43c67c93edd045d70e
7
- data.tar.gz: 1ba235561f6101acddeb623aa5e0750911ed24310532802f74ecc9597e5d845ab32775348888b934c0088b8b333dc7ed4ecfe3dd8970988ed4cfc6b4d556066c
6
+ metadata.gz: 47f28059e6ad1d47c72e035ccb0410e44cb7c52dca561e5abc5df60a42f677f09d041b492e2e21858b22d508b080d27782221dffc6017d94cd472ec0fa4e2eff
7
+ data.tar.gz: 965c11dcb8583c59c09e964cec87e1d948c97c9808f1e2bb0a70c9c6bcc5a0eba031488ea5923e8165fb600753f91a4cd5ff8f0e03212877afa19052500c26a8
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.7.1
4
+
5
+ * Parser switcher [@inossidabile][]
6
+ * Namespaces support patched [@inossidabile][]
7
+
3
8
  ## 0.7.0
4
9
 
5
10
  * WSDL Document mode support [@gorism][]
data/Gemfile CHANGED
@@ -3,7 +3,7 @@ source "http://rubygems.org"
3
3
  gemspec
4
4
 
5
5
  gem 'wasabi'
6
- gem 'savon'
6
+ gem 'savon', '>= 2.0.0'
7
7
  gem 'httpi', :git => 'git://github.com/savonrb/httpi.git'
8
8
 
9
9
  gem 'bundler', '~> 1.3.0'
data/Gemfile.lock CHANGED
@@ -1,118 +1,131 @@
1
1
  GIT
2
2
  remote: git://github.com/savonrb/httpi.git
3
- revision: 6536d498160ecb0e969bb161ad091c49493f6bc2
3
+ revision: 8fe93587ec4f4558ba0bf660b37d2b8c540bd7c4
4
4
  specs:
5
- httpi (2.0.0)
5
+ httpi (2.0.2)
6
6
  rack
7
+ rubyntlm
7
8
 
8
9
  PATH
9
10
  remote: .
10
11
  specs:
11
- wash_out (0.7.0)
12
- nori (~> 2.0.0)
12
+ wash_out (0.7.1)
13
+ nori (>= 2.0.0)
13
14
 
14
15
  GEM
15
16
  remote: http://rubygems.org/
16
17
  specs:
17
- actionpack (3.2.9)
18
- activemodel (= 3.2.9)
19
- activesupport (= 3.2.9)
18
+ actionpack (3.2.13)
19
+ activemodel (= 3.2.13)
20
+ activesupport (= 3.2.13)
20
21
  builder (~> 3.0.0)
21
22
  erubis (~> 2.7.0)
22
23
  journey (~> 1.0.4)
23
- rack (~> 1.4.0)
24
+ rack (~> 1.4.5)
24
25
  rack-cache (~> 1.2)
25
26
  rack-test (~> 0.6.1)
26
27
  sprockets (~> 2.2.1)
27
- activemodel (3.2.9)
28
- activesupport (= 3.2.9)
28
+ activemodel (3.2.13)
29
+ activesupport (= 3.2.13)
29
30
  builder (~> 3.0.0)
30
- activesupport (3.2.9)
31
- i18n (~> 0.6)
31
+ activesupport (3.2.13)
32
+ i18n (= 0.6.1)
32
33
  multi_json (~> 1.0)
33
34
  akami (1.2.0)
34
35
  gyoku (>= 0.4.0)
35
36
  nokogiri (>= 1.4.0)
36
- appraisal (0.5.1)
37
+ appraisal (0.5.2)
37
38
  bundler
38
39
  rake
39
40
  builder (3.0.4)
40
- coderay (1.0.8)
41
+ coderay (1.0.9)
41
42
  colored (1.2)
42
- diff-lcs (1.1.3)
43
+ diff-lcs (1.2.4)
43
44
  erubis (2.7.0)
44
- guard (1.6.1)
45
- listen (>= 0.6.0)
45
+ ffi (1.8.1)
46
+ ffi (1.8.1-java)
47
+ formatador (0.2.4)
48
+ guard (1.8.0)
49
+ formatador (>= 0.2.4)
50
+ listen (>= 1.0.0)
46
51
  lumberjack (>= 1.0.2)
47
52
  pry (>= 0.9.10)
48
53
  thor (>= 0.14.6)
49
- guard-rspec (2.3.3)
50
- guard (>= 1.1)
51
- rspec (~> 2.11)
54
+ guard-rspec (3.0.0)
55
+ guard (>= 1.8)
56
+ rspec (~> 2.13)
52
57
  gyoku (1.0.0)
53
58
  builder (>= 2.1.2)
54
- hike (1.2.1)
59
+ hike (1.2.2)
55
60
  i18n (0.6.1)
56
61
  journey (1.0.4)
57
- json (1.7.5)
58
- json (1.7.5-java)
59
- listen (0.6.0)
60
- lumberjack (1.0.2)
62
+ json (1.8.0)
63
+ json (1.8.0-java)
64
+ listen (1.1.1)
65
+ rb-fsevent (>= 0.9.3)
66
+ rb-inotify (>= 0.9)
67
+ rb-kqueue (>= 0.2)
68
+ lumberjack (1.0.3)
61
69
  method_source (0.8.1)
62
- multi_json (1.5.0)
63
- nokogiri (1.5.6)
64
- nokogiri (1.5.6-java)
65
- nori (2.0.0)
66
- pry (0.9.10)
70
+ multi_json (1.7.3)
71
+ nokogiri (1.5.9)
72
+ nokogiri (1.5.9-java)
73
+ nori (2.1.0)
74
+ pry (0.9.12.2)
67
75
  coderay (~> 1.0.5)
68
76
  method_source (~> 0.8)
69
- slop (~> 3.3.1)
70
- pry (0.9.10-java)
77
+ slop (~> 3.4)
78
+ pry (0.9.12.2-java)
71
79
  coderay (~> 1.0.5)
72
80
  method_source (~> 0.8)
73
- slop (~> 3.3.1)
81
+ slop (~> 3.4)
74
82
  spoon (~> 0.0)
75
- rack (1.4.1)
83
+ rack (1.4.5)
76
84
  rack-cache (1.2)
77
85
  rack (>= 0.4)
78
- rack-ssl (1.3.2)
86
+ rack-ssl (1.3.3)
79
87
  rack
80
88
  rack-test (0.6.2)
81
89
  rack (>= 1.0)
82
- railties (3.2.9)
83
- actionpack (= 3.2.9)
84
- activesupport (= 3.2.9)
90
+ railties (3.2.13)
91
+ actionpack (= 3.2.13)
92
+ activesupport (= 3.2.13)
85
93
  rack-ssl (~> 1.3.2)
86
94
  rake (>= 0.8.7)
87
95
  rdoc (~> 3.4)
88
96
  thor (>= 0.14.6, < 2.0)
89
97
  rake (10.0.4)
90
- rb-fsevent (0.9.2)
91
- rdoc (3.12)
98
+ rb-fsevent (0.9.3)
99
+ rb-inotify (0.9.0)
100
+ ffi (>= 0.5.0)
101
+ rb-kqueue (0.2.0)
102
+ ffi (>= 0.5.0)
103
+ rdoc (3.12.2)
92
104
  json (~> 1.4)
93
- rspec (2.12.0)
94
- rspec-core (~> 2.12.0)
95
- rspec-expectations (~> 2.12.0)
96
- rspec-mocks (~> 2.12.0)
97
- rspec-core (2.12.2)
98
- rspec-expectations (2.12.1)
99
- diff-lcs (~> 1.1.3)
100
- rspec-mocks (2.12.1)
101
- rspec-rails (2.12.0)
105
+ rspec (2.13.0)
106
+ rspec-core (~> 2.13.0)
107
+ rspec-expectations (~> 2.13.0)
108
+ rspec-mocks (~> 2.13.0)
109
+ rspec-core (2.13.1)
110
+ rspec-expectations (2.13.0)
111
+ diff-lcs (>= 1.1.3, < 2.0)
112
+ rspec-mocks (2.13.1)
113
+ rspec-rails (2.13.1)
102
114
  actionpack (>= 3.0)
103
115
  activesupport (>= 3.0)
104
116
  railties (>= 3.0)
105
- rspec-core (~> 2.12.0)
106
- rspec-expectations (~> 2.12.0)
107
- rspec-mocks (~> 2.12.0)
108
- savon (2.0.2)
117
+ rspec-core (~> 2.13.0)
118
+ rspec-expectations (~> 2.13.0)
119
+ rspec-mocks (~> 2.13.0)
120
+ rubyntlm (0.3.1)
121
+ savon (2.2.0)
109
122
  akami (~> 1.2.0)
110
123
  builder (>= 2.1.2)
111
124
  gyoku (~> 1.0.0)
112
- httpi (~> 2.0.0)
125
+ httpi (~> 2.0.2)
113
126
  nokogiri (>= 1.4.0)
114
- nori (~> 2.0.0)
115
- wasabi (~> 3.0.0)
127
+ nori (~> 2.1.0)
128
+ wasabi (~> 3.1.0)
116
129
  simplecov (0.7.1)
117
130
  multi_json (~> 1.0)
118
131
  simplecov-html (~> 0.7.1)
@@ -120,17 +133,18 @@ GEM
120
133
  simplecov-summary (0.0.4)
121
134
  colored
122
135
  simplecov
123
- slop (3.3.3)
124
- spoon (0.0.1)
136
+ slop (3.4.5)
137
+ spoon (0.0.4)
138
+ ffi
125
139
  sprockets (2.2.2)
126
140
  hike (~> 1.2)
127
141
  multi_json (~> 1.0)
128
142
  rack (~> 1.0)
129
143
  tilt (~> 1.1, != 1.3.0)
130
- thor (0.16.0)
131
- tilt (1.3.3)
132
- tzinfo (0.3.35)
133
- wasabi (3.0.0)
144
+ thor (0.18.1)
145
+ tilt (1.4.1)
146
+ tzinfo (0.3.37)
147
+ wasabi (3.1.0)
134
148
  httpi (~> 2.0)
135
149
  nokogiri (>= 1.4.0)
136
150
 
@@ -147,7 +161,7 @@ DEPENDENCIES
147
161
  pry
148
162
  rb-fsevent
149
163
  rspec-rails
150
- savon
164
+ savon (>= 2.0.0)
151
165
  simplecov
152
166
  simplecov-summary
153
167
  tzinfo
data/README.md CHANGED
@@ -142,6 +142,7 @@ Use `config.wash_out...` inside your environment configuration to setup WashOut.
142
142
 
143
143
  Available properties are:
144
144
 
145
+ * **parser**: XML parser to use – `:rexml` or `:nokogiri`. The first one is default but the latter is much faster. Be sure to add `gem nokogiri` if you want to use it.
145
146
  * **style**: sets WSDL style. Supported values are: 'document' and 'rpc'.
146
147
  * **catch_xml_errors**: intercept Rails parsing exceptions to return correct XML response for corrupt XML input. Default is `false`.
147
148
  * **namespace**: SOAP namespace to use. Default is `urn:WashOut`.
@@ -13,6 +13,7 @@ module WashOut
13
13
  # This filter parses the SOAP request and puts it into +params+ array.
14
14
  def _parse_soap_parameters
15
15
  parser = Nori.new(
16
+ :parser => WashOut::Engine.parser,
16
17
  :strip_namespaces => true,
17
18
  :advanced_typecasting => true,
18
19
  :convert_tags_to => ( WashOut::Engine.snakecase_input ? lambda { |tag| tag.snakecase.to_sym } \
@@ -52,9 +53,9 @@ module WashOut
52
53
  soap_action.to_sym).compact.first || {}
53
54
 
54
55
  strip_empty_nodes = lambda{|hash|
55
- hash.each do |key, value|
56
- if value.is_a? Hash
57
- value = value.delete_if{|key, value| key.to_s[0] == '@'}
56
+ hash.keys.each do |key|
57
+ if hash[key].is_a? Hash
58
+ value = hash[key].delete_if{|key, value| key.to_s[0] == '@'}
58
59
 
59
60
  if value.length > 0
60
61
  hash[key] = strip_empty_nodes.call(value)
@@ -88,7 +89,8 @@ module WashOut
88
89
  @namespace = WashOut::Engine.namespace
89
90
  @name = controller_path.gsub('/', '_')
90
91
 
91
- render :template => "wash_with_soap/#{WashOut::Engine.style}/wsdl", :layout => false
92
+ render :template => "wash_with_soap/#{WashOut::Engine.style}/wsdl", :layout => false,
93
+ :content_type => 'text/xml'
92
94
  end
93
95
 
94
96
  # Render a SOAP response.
@@ -1,6 +1,7 @@
1
1
  module WashOut
2
2
  class Engine < ::Rails::Engine
3
3
  class << self
4
+ attr_accessor :parser
4
5
  attr_accessor :namespace
5
6
  attr_accessor :style
6
7
  attr_accessor :snakecase, :camelize_output
@@ -9,6 +10,8 @@ module WashOut
9
10
  attr_accessor :catch_xml_errors
10
11
  end
11
12
 
13
+ self.parser = :rexml
14
+
12
15
  self.namespace = 'urn:WashOut'
13
16
  self.style = 'rpc'
14
17
  self.snakecase = nil
@@ -13,8 +13,12 @@ module WashOut
13
13
  # RUBY18 1.8 does not have force_encoding.
14
14
  soap_action.force_encoding('UTF-8') if soap_action.respond_to? :force_encoding
15
15
 
16
- namespace = Regexp.escape WashOut::Engine.namespace.to_s
17
- soap_action.gsub!(/^\"(namespace\/?)?(.*)\"$/, '\2')
16
+ if WashOut::Engine.namespace
17
+ namespace = Regexp.escape WashOut::Engine.namespace.to_s
18
+ soap_action.gsub!(/^\"(#{namespace}\/?)?(.*)\"$/, '\2')
19
+ else
20
+ soap_action = soap_action[1...-1]
21
+ end
18
22
 
19
23
  env['wash_out.soap_action'] = soap_action
20
24
  end
@@ -1,3 +1,3 @@
1
1
  module WashOut
2
- VERSION = "0.7.0"
2
+ VERSION = "0.7.1"
3
3
  end
data/wash_out.gemspec CHANGED
@@ -13,5 +13,5 @@ Gem::Specification.new do |s|
13
13
  s.files = `git ls-files`.split("\n")
14
14
  s.require_paths = ["lib"]
15
15
 
16
- s.add_dependency("nori", "~> 2.0.0")
16
+ s.add_dependency("nori", ">= 2.0.0")
17
17
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wash_out
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Boris Staal
@@ -9,20 +9,20 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-11 00:00:00.000000000 Z
12
+ date: 2013-05-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nori
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ~>
18
+ - - '>='
19
19
  - !ruby/object:Gem::Version
20
20
  version: 2.0.0
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ~>
25
+ - - '>='
26
26
  - !ruby/object:Gem::Version
27
27
  version: 2.0.0
28
28
  description: Dead simple Rails 3 SOAP server library
@@ -118,7 +118,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
118
118
  version: '0'
119
119
  requirements: []
120
120
  rubyforge_project:
121
- rubygems_version: 2.0.0
121
+ rubygems_version: 2.0.3
122
122
  signing_key:
123
123
  specification_version: 4
124
124
  summary: Dead simple Rails 3 SOAP server library