actionwebservice 0.5.0 → 0.6.0

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.
Files changed (66) hide show
  1. data/{ChangeLog → CHANGELOG} +20 -0
  2. data/README +45 -1
  3. data/Rakefile +12 -10
  4. data/TODO +8 -9
  5. data/lib/action_web_service.rb +10 -6
  6. data/lib/action_web_service/api.rb +1 -2
  7. data/lib/action_web_service/api/{abstract.rb → base.rb} +14 -71
  8. data/lib/action_web_service/base.rb +0 -3
  9. data/lib/action_web_service/client/base.rb +1 -12
  10. data/lib/action_web_service/client/soap_client.rb +49 -17
  11. data/lib/action_web_service/client/xmlrpc_client.rb +20 -15
  12. data/lib/action_web_service/container.rb +3 -85
  13. data/lib/action_web_service/{api/action_controller.rb → container/action_controller_container.rb} +2 -2
  14. data/lib/action_web_service/container/delegated_container.rb +87 -0
  15. data/lib/action_web_service/container/direct_container.rb +70 -0
  16. data/lib/action_web_service/dispatcher/abstract.rb +100 -102
  17. data/lib/action_web_service/dispatcher/action_controller_dispatcher.rb +199 -137
  18. data/lib/action_web_service/protocol.rb +1 -1
  19. data/lib/action_web_service/protocol/abstract.rb +14 -112
  20. data/lib/action_web_service/protocol/discovery.rb +37 -0
  21. data/lib/action_web_service/protocol/soap_protocol.rb +32 -458
  22. data/lib/action_web_service/protocol/xmlrpc_protocol.rb +29 -149
  23. data/lib/action_web_service/struct.rb +2 -5
  24. data/lib/action_web_service/test_invoke.rb +130 -0
  25. data/lib/action_web_service/vendor/ws.rb +4 -0
  26. data/lib/action_web_service/vendor/ws/common.rb +8 -0
  27. data/lib/action_web_service/vendor/ws/encoding.rb +3 -0
  28. data/lib/action_web_service/vendor/ws/encoding/abstract.rb +26 -0
  29. data/lib/action_web_service/vendor/ws/encoding/soap_rpc_encoding.rb +90 -0
  30. data/lib/action_web_service/vendor/ws/encoding/xmlrpc_encoding.rb +53 -0
  31. data/lib/action_web_service/vendor/ws/marshaling.rb +3 -0
  32. data/lib/action_web_service/vendor/ws/marshaling/abstract.rb +17 -0
  33. data/lib/action_web_service/vendor/ws/marshaling/soap_marshaling.rb +277 -0
  34. data/lib/action_web_service/vendor/ws/marshaling/xmlrpc_marshaling.rb +116 -0
  35. data/lib/action_web_service/vendor/ws/types.rb +162 -0
  36. data/test/abstract_client.rb +8 -11
  37. data/test/abstract_dispatcher.rb +370 -0
  38. data/test/abstract_unit.rb +1 -0
  39. data/test/api_test.rb +18 -1
  40. data/test/apis/auto_load_api.rb +3 -0
  41. data/test/apis/broken_auto_load_api.rb +2 -0
  42. data/test/client_soap_test.rb +16 -3
  43. data/test/client_xmlrpc_test.rb +16 -4
  44. data/test/container_test.rb +28 -8
  45. data/test/dispatcher_action_controller_soap_test.rb +106 -0
  46. data/test/dispatcher_action_controller_xmlrpc_test.rb +44 -0
  47. data/test/gencov +1 -1
  48. data/test/invocation_test.rb +39 -3
  49. data/test/run +4 -4
  50. data/test/test_invoke_test.rb +77 -0
  51. data/test/ws/abstract_encoding.rb +68 -0
  52. data/test/ws/abstract_unit.rb +13 -0
  53. data/test/ws/gencov +3 -0
  54. data/test/ws/run +5 -0
  55. data/test/ws/soap_marshaling_test.rb +91 -0
  56. data/test/ws/soap_rpc_encoding_test.rb +47 -0
  57. data/test/ws/types_test.rb +41 -0
  58. data/test/ws/xmlrpc_encoding_test.rb +34 -0
  59. metadata +48 -19
  60. data/lib/action_web_service/protocol/registry.rb +0 -55
  61. data/lib/action_web_service/support/signature.rb +0 -100
  62. data/test/abstract_soap.rb +0 -58
  63. data/test/dispatcher_action_controller_test.rb +0 -186
  64. data/test/protocol_registry_test.rb +0 -53
  65. data/test/protocol_soap_test.rb +0 -252
  66. data/test/protocol_xmlrpc_test.rb +0 -147
@@ -0,0 +1,77 @@
1
+ require File.dirname(__FILE__) + '/abstract_unit'
2
+ require 'action_web_service/test_invoke'
3
+
4
+ class TestInvokeAPI < ActionWebService::API::Base
5
+ api_method :add, :expects => [:int, :int], :returns => [:int]
6
+ end
7
+
8
+ class TestInvokeService < ActionWebService::Base
9
+ web_service_api TestInvokeAPI
10
+
11
+ attr :invoked
12
+
13
+ def add(a, b)
14
+ @invoked = true
15
+ a + b
16
+ end
17
+ end
18
+
19
+ class TestController < ActionController::Base
20
+ def rescue_action(e); raise e; end
21
+ end
22
+
23
+ class TestInvokeDirectController < TestController
24
+ web_service_api TestInvokeAPI
25
+
26
+ attr :invoked
27
+
28
+ def add
29
+ @invoked = true
30
+ @method_params[0] + @method_params[1]
31
+ end
32
+ end
33
+
34
+ class TestInvokeDelegatedController < TestController
35
+ web_service_dispatching_mode :delegated
36
+ web_service :service, TestInvokeService.new
37
+ end
38
+
39
+ class TestInvokeLayeredController < TestController
40
+ web_service_dispatching_mode :layered
41
+ web_service :one, TestInvokeService.new
42
+ web_service :two, TestInvokeService.new
43
+ end
44
+
45
+ class TestInvokeTest < Test::Unit::TestCase
46
+ def setup
47
+ @request = ActionController::TestRequest.new
48
+ @response = ActionController::TestResponse.new
49
+ end
50
+
51
+ def test_direct_add
52
+ @controller = TestInvokeDirectController.new
53
+ assert_equal nil, @controller.invoked
54
+ result = invoke :add, 25, 25
55
+ assert_equal 50, result
56
+ assert_equal true, @controller.invoked
57
+ end
58
+
59
+ def test_delegated_add
60
+ @controller = TestInvokeDelegatedController.new
61
+ assert_equal nil, @controller.web_service_object(:service).invoked
62
+ result = invoke_delegated :service, :add, 100, 50
63
+ assert_equal 150, result
64
+ assert_equal true, @controller.web_service_object(:service).invoked
65
+ end
66
+
67
+ def test_layered_add
68
+ @protocol = :xmlrpc
69
+ @controller = TestInvokeLayeredController.new
70
+ [:one, :two].each do |service|
71
+ assert_equal nil, @controller.web_service_object(service).invoked
72
+ result = invoke_layered service, :add, 200, -50
73
+ assert_equal 150, result
74
+ assert_equal true, @controller.web_service_object(service).invoked
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,68 @@
1
+ require File.dirname(__FILE__) + '/abstract_unit'
2
+
3
+ module Nested
4
+ class StructClass
5
+ attr_accessor :name
6
+ attr_accessor :version
7
+
8
+ def initialize
9
+ @name = 5
10
+ @version = "1.0"
11
+ end
12
+
13
+ def ==(other)
14
+ @name == other.name && @version == other.version
15
+ end
16
+ end
17
+ end
18
+
19
+ module EncodingTest
20
+ def setup
21
+ @call_signature = [:int, :bool, :string, :float, [:time], Nested::StructClass]
22
+ @call_params = [1, true, "string", 5.0, [Time.now], Nested::StructClass.new]
23
+ @response_signature = [:string]
24
+ @response_param = "hello world"
25
+ test_setup
26
+ end
27
+
28
+ def test_abstract
29
+ obj = WS::Encoding::AbstractEncoding.new
30
+ assert_raises(NotImplementedError) do
31
+ obj.encode_rpc_call(nil, nil)
32
+ end
33
+ assert_raises(NotImplementedError) do
34
+ obj.decode_rpc_call(nil)
35
+ end
36
+ assert_raises(NotImplementedError) do
37
+ obj.encode_rpc_response(nil, nil)
38
+ end
39
+ assert_raises(NotImplementedError) do
40
+ obj.decode_rpc_response(nil)
41
+ end
42
+ end
43
+
44
+ def encode_rpc_call(method_name, signature, params)
45
+ params = params.dup
46
+ (0..(signature.length-1)).each do |i|
47
+ type_binding = @marshaler.register_type(signature[i])
48
+ info = WS::ParamInfo.create(signature[i], type_binding, i)
49
+ params[i] = @marshaler.marshal(WS::Param.new(params[i], info))
50
+ end
51
+ @encoder.encode_rpc_call(method_name, params)
52
+ end
53
+
54
+ def decode_rpc_call(obj)
55
+ @encoder.decode_rpc_call(obj)
56
+ end
57
+
58
+ def encode_rpc_response(method_name, signature, param)
59
+ type_binding = @marshaler.register_type(signature[0])
60
+ info = WS::ParamInfo.create(signature[0], type_binding, 0)
61
+ param = @marshaler.marshal(WS::Param.new(param, info))
62
+ @encoder.encode_rpc_response(method_name, param)
63
+ end
64
+
65
+ def decode_rpc_response(obj)
66
+ @encoder.decode_rpc_response(obj)
67
+ end
68
+ end
@@ -0,0 +1,13 @@
1
+ require 'pathname'
2
+ $:.unshift(Pathname.new(File.dirname(__FILE__)).realpath.to_s + '/../../lib/action_web_service/vendor')
3
+ require 'test/unit'
4
+ require 'ws'
5
+ begin
6
+ require 'active_record'
7
+ rescue LoadError
8
+ begin
9
+ require 'rubygems'
10
+ require_gem 'activerecord', '>= 1.6.0'
11
+ rescue LoadError
12
+ end
13
+ end
@@ -0,0 +1,3 @@
1
+ #!/bin/sh
2
+
3
+ rcov -x '.*_test\.rb,rubygems,abstract_,/run' ./run
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ Dir[File.join(File.dirname(__FILE__), '*_test.rb')].each do |f|
4
+ require f
5
+ end
@@ -0,0 +1,91 @@
1
+ require File.dirname(__FILE__) + '/abstract_unit'
2
+
3
+ module Nested
4
+ class MyClass
5
+ attr_accessor :id
6
+ attr_accessor :name
7
+
8
+ def initialize(id, name)
9
+ @id = id
10
+ @name = name
11
+ end
12
+
13
+ def ==(other)
14
+ @id == other.id && @name == other.name
15
+ end
16
+ end
17
+ end
18
+
19
+ class SoapMarshalingTest < Test::Unit::TestCase
20
+ def setup
21
+ @marshaler = WS::Marshaling::SoapMarshaler.new
22
+ end
23
+
24
+ def test_abstract
25
+ marshaler = WS::Marshaling::AbstractMarshaler.new
26
+ assert_raises(NotImplementedError) do
27
+ marshaler.marshal(nil)
28
+ end
29
+ assert_raises(NotImplementedError) do
30
+ marshaler.unmarshal(nil)
31
+ end
32
+ assert_equal(nil, marshaler.register_type(nil))
33
+ end
34
+
35
+ def test_marshaling
36
+ info = WS::ParamInfo.create(Nested::MyClass, @marshaler.register_type(Nested::MyClass))
37
+ param = WS::Param.new(Nested::MyClass.new(2, "name"), info)
38
+ new_param = @marshaler.unmarshal(@marshaler.marshal(param))
39
+ assert(param == new_param)
40
+ end
41
+
42
+ def test_exception_marshaling
43
+ info = WS::ParamInfo.create(RuntimeError, @marshaler.register_type(RuntimeError))
44
+ param = WS::Param.new(RuntimeError.new("hello, world"), info)
45
+ new_param = @marshaler.unmarshal(@marshaler.marshal(param))
46
+ assert_equal("hello, world", new_param.value.detail.cause.message)
47
+ end
48
+
49
+ def test_registration
50
+ type_binding1 = @marshaler.register_type(:int)
51
+ type_binding2 = @marshaler.register_type(:int)
52
+ assert(type_binding1.equal?(type_binding2))
53
+ end
54
+
55
+ def test_active_record
56
+ if Object.const_defined?('ActiveRecord')
57
+ node_class = Class.new(ActiveRecord::Base) do
58
+ def initialize(*args)
59
+ super(*args)
60
+ @new_record = false
61
+ end
62
+
63
+ class << self
64
+ def name
65
+ "Node"
66
+ end
67
+
68
+ def columns(*args)
69
+ [
70
+ ActiveRecord::ConnectionAdapters::Column.new('id', 0, 'int'),
71
+ ActiveRecord::ConnectionAdapters::Column.new('name', nil, 'string'),
72
+ ActiveRecord::ConnectionAdapters::Column.new('email', nil, 'string'),
73
+ ]
74
+ end
75
+
76
+ def connection
77
+ self
78
+ end
79
+ end
80
+ end
81
+ info = WS::ParamInfo.create(node_class, @marshaler.register_type(node_class), 0)
82
+ ar_obj = node_class.new('name' => 'hello', 'email' => 'test@test.com')
83
+ param = WS::Param.new(ar_obj, info)
84
+ obj = @marshaler.marshal(param)
85
+ param = @marshaler.unmarshal(obj)
86
+ new_ar_obj = param.value
87
+ assert_equal(ar_obj, new_ar_obj)
88
+ assert(!ar_obj.equal?(new_ar_obj))
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,47 @@
1
+ require File.dirname(__FILE__) + '/abstract_encoding'
2
+ require 'time'
3
+
4
+ class SoapRpcEncodingTest < Test::Unit::TestCase
5
+ include EncodingTest
6
+
7
+ def test_setup
8
+ @encoder = WS::Encoding::SoapRpcEncoding.new
9
+ @marshaler = WS::Marshaling::SoapMarshaler.new
10
+ end
11
+
12
+ def test_call_encoding_and_decoding
13
+ obj = encode_rpc_call('DecodeMe', @call_signature, @call_params)
14
+ method_name, decoded_params = decode_rpc_call(obj)
15
+ params = decoded_params.map{|x| @marshaler.unmarshal(x).value}
16
+ assert_equal(method_name, 'DecodeMe')
17
+ assert_equal(@call_params[0..3], params[0..3])
18
+ # XXX: DateTime not marshaled correctly yet
19
+ assert_equal(@call_params[5..-1], params[5..-1])
20
+ end
21
+
22
+ def test_response_encoding_and_decoding_simple
23
+ obj = encode_rpc_response('DecodeMe', @response_signature, @response_param)
24
+ method_name, return_value = decode_rpc_response(obj)
25
+ return_value = @marshaler.unmarshal(return_value).value
26
+ assert_equal('DecodeMe', method_name)
27
+ assert_equal(@response_param, return_value)
28
+ end
29
+
30
+ def test_response_encoding_and_decoding_struct
31
+ struct = Nested::StructClass.new
32
+ obj = encode_rpc_response('DecodeMe', [Nested::StructClass], struct)
33
+ method_name, return_value = decode_rpc_response(obj)
34
+ return_value = @marshaler.unmarshal(return_value).value
35
+ assert_equal('DecodeMe', method_name)
36
+ assert_equal(struct, return_value)
37
+ end
38
+
39
+ def test_response_encoding_and_decoding_array
40
+ struct = Nested::StructClass.new
41
+ obj = encode_rpc_response('DecodeMe', [[Nested::StructClass]], [struct])
42
+ method_name, return_value = decode_rpc_response(obj)
43
+ return_value = @marshaler.unmarshal(return_value).value
44
+ assert_equal('DecodeMe', method_name)
45
+ assert_equal([struct], return_value)
46
+ end
47
+ end
@@ -0,0 +1,41 @@
1
+ require File.dirname(__FILE__) + '/abstract_unit'
2
+
3
+ class TypesTest < Test::Unit::TestCase
4
+ include WS
5
+
6
+ def setup
7
+ @caster = BaseTypeCaster.new
8
+ end
9
+
10
+ def test_base_types
11
+ assert_equal(:int, BaseTypes.canonical_type_name(:integer))
12
+ assert_equal(:int, BaseTypes.canonical_type_name(:fixnum))
13
+ assert_equal(Integer, BaseTypes.type_name_to_class(:bignum))
14
+ assert_equal(Date, BaseTypes.type_name_to_class(:date))
15
+ assert_equal(Time, BaseTypes.type_name_to_class(:timestamp))
16
+ assert_equal(TrueClass, BaseTypes.type_name_to_class(:bool))
17
+ assert_equal(:int, BaseTypes.class_to_type_name(Bignum))
18
+ assert_equal(:bool, BaseTypes.class_to_type_name(FalseClass))
19
+ assert_equal(Integer, BaseTypes.canonical_type_class(Fixnum))
20
+ assert_raises(TypeError) do
21
+ BaseTypes.canonical_type_name(:fake)
22
+ end
23
+ end
24
+
25
+ def test_casting
26
+ assert_equal(5, @caster.cast("5", Fixnum))
27
+ assert_equal('50.0', @caster.cast(50.0, String))
28
+ assert_equal(true, @caster.cast('true', FalseClass))
29
+ assert_equal(false, @caster.cast('false', TrueClass))
30
+ assert_raises(TypeError) do
31
+ @caster.cast('yes', FalseClass)
32
+ end
33
+ assert_equal(3.14159, @caster.cast('3.14159', Float))
34
+ now1 = Time.new
35
+ now2 = @caster.cast("#{now1}", Time)
36
+ assert_equal(now1.tv_sec, now2.tv_sec)
37
+ date1 = Date.parse('2004-01-01')
38
+ date2 = @caster.cast("#{date1}", Date)
39
+ assert_equal(date1, date2)
40
+ end
41
+ end
@@ -0,0 +1,34 @@
1
+ require File.dirname(__FILE__) + '/abstract_encoding'
2
+ require 'time'
3
+
4
+ class XmlRpcEncodingTest < Test::Unit::TestCase
5
+ include EncodingTest
6
+
7
+ def test_setup
8
+ @encoder = WS::Encoding::XmlRpcEncoding.new
9
+ @marshaler = WS::Marshaling::XmlRpcMarshaler.new
10
+ end
11
+
12
+ def test_typed_call_encoding_and_decoding
13
+ obj = encode_rpc_call('DecodeMe', @call_signature, @call_params)
14
+ method_name, params = decode_rpc_call(obj)
15
+ (0..(@call_signature.length-1)).each do |i|
16
+ params[i] = @marshaler.typed_unmarshal(params[i], @call_signature[i]).value
17
+ end
18
+ assert_equal(method_name, 'DecodeMe')
19
+ assert_equal(@call_params[0..3], params[0..3])
20
+ assert_equal(@call_params[5..-1], params[5..-1])
21
+ end
22
+
23
+ def test_untyped_call_encoding_and_decoding
24
+ obj = encode_rpc_call('DecodeMe', @call_signature, @call_params)
25
+ method_name, params = decode_rpc_call(obj)
26
+ (0..(@call_signature.length-1)).each do |i|
27
+ params[i] = @marshaler.unmarshal(params[i]).value
28
+ end
29
+ assert_equal(method_name, 'DecodeMe')
30
+ assert_equal(@call_params[0..3], params[0..3])
31
+ assert_equal(@call_params[5].name, params[5]['name'])
32
+ assert_equal(@call_params[5].version, params[5]['version'])
33
+ end
34
+ end
metadata CHANGED
@@ -1,10 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.8.4
2
+ rubygems_version: 0.8.6
3
3
  specification_version: 1
4
4
  name: actionwebservice
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.5.0
7
- date: 2005-02-24
6
+ version: 0.6.0
7
+ date: 2005-03-07
8
8
  summary: Web service support for Action Pack.
9
9
  require_paths:
10
10
  - lib
@@ -31,7 +31,7 @@ files:
31
31
  - setup.rb
32
32
  - README
33
33
  - TODO
34
- - ChangeLog
34
+ - CHANGELOG
35
35
  - MIT-LICENSE
36
36
  - examples/googlesearch
37
37
  - examples/metaWeblog
@@ -54,6 +54,7 @@ files:
54
54
  - lib/action_web_service/base.rb
55
55
  - lib/action_web_service/client
56
56
  - lib/action_web_service/client.rb
57
+ - lib/action_web_service/container
57
58
  - lib/action_web_service/container.rb
58
59
  - lib/action_web_service/dispatcher
59
60
  - lib/action_web_service/dispatcher.rb
@@ -62,35 +63,63 @@ files:
62
63
  - lib/action_web_service/protocol.rb
63
64
  - lib/action_web_service/struct.rb
64
65
  - lib/action_web_service/support
65
- - lib/action_web_service/api/abstract.rb
66
- - lib/action_web_service/api/action_controller.rb
66
+ - lib/action_web_service/test_invoke.rb
67
+ - lib/action_web_service/vendor
68
+ - lib/action_web_service/api/base.rb
67
69
  - lib/action_web_service/client/base.rb
68
70
  - lib/action_web_service/client/soap_client.rb
69
71
  - lib/action_web_service/client/xmlrpc_client.rb
72
+ - lib/action_web_service/container/action_controller_container.rb
73
+ - lib/action_web_service/container/delegated_container.rb
74
+ - lib/action_web_service/container/direct_container.rb
70
75
  - lib/action_web_service/dispatcher/abstract.rb
71
76
  - lib/action_web_service/dispatcher/action_controller_dispatcher.rb
72
77
  - lib/action_web_service/protocol/abstract.rb
73
- - lib/action_web_service/protocol/registry.rb
78
+ - lib/action_web_service/protocol/discovery.rb
74
79
  - lib/action_web_service/protocol/soap_protocol.rb
75
80
  - lib/action_web_service/protocol/xmlrpc_protocol.rb
76
81
  - lib/action_web_service/support/class_inheritable_options.rb
77
- - lib/action_web_service/support/signature.rb
82
+ - lib/action_web_service/vendor/ws
83
+ - lib/action_web_service/vendor/ws.rb
84
+ - lib/action_web_service/vendor/ws/common.rb
85
+ - lib/action_web_service/vendor/ws/encoding
86
+ - lib/action_web_service/vendor/ws/encoding.rb
87
+ - lib/action_web_service/vendor/ws/marshaling
88
+ - lib/action_web_service/vendor/ws/marshaling.rb
89
+ - lib/action_web_service/vendor/ws/types.rb
90
+ - lib/action_web_service/vendor/ws/encoding/abstract.rb
91
+ - lib/action_web_service/vendor/ws/encoding/soap_rpc_encoding.rb
92
+ - lib/action_web_service/vendor/ws/encoding/xmlrpc_encoding.rb
93
+ - lib/action_web_service/vendor/ws/marshaling/abstract.rb
94
+ - lib/action_web_service/vendor/ws/marshaling/soap_marshaling.rb
95
+ - lib/action_web_service/vendor/ws/marshaling/xmlrpc_marshaling.rb
78
96
  - test/abstract_client.rb
79
- - test/abstract_soap.rb
97
+ - test/abstract_dispatcher.rb
80
98
  - test/abstract_unit.rb
81
99
  - test/api_test.rb
100
+ - test/apis
82
101
  - test/base_test.rb
83
102
  - test/client_soap_test.rb
84
103
  - test/client_xmlrpc_test.rb
85
104
  - test/container_test.rb
86
- - test/dispatcher_action_controller_test.rb
105
+ - test/dispatcher_action_controller_soap_test.rb
106
+ - test/dispatcher_action_controller_xmlrpc_test.rb
87
107
  - test/gencov
88
108
  - test/invocation_test.rb
89
- - test/protocol_registry_test.rb
90
- - test/protocol_soap_test.rb
91
- - test/protocol_xmlrpc_test.rb
92
109
  - test/run
93
110
  - test/struct_test.rb
111
+ - test/test_invoke_test.rb
112
+ - test/ws
113
+ - test/apis/auto_load_api.rb
114
+ - test/apis/broken_auto_load_api.rb
115
+ - test/ws/abstract_encoding.rb
116
+ - test/ws/abstract_unit.rb
117
+ - test/ws/gencov
118
+ - test/ws/run
119
+ - test/ws/soap_marshaling_test.rb
120
+ - test/ws/soap_rpc_encoding_test.rb
121
+ - test/ws/types_test.rb
122
+ - test/ws/xmlrpc_encoding_test.rb
94
123
  test_files: []
95
124
  rdoc_options: []
96
125
  extra_rdoc_files: []
@@ -105,9 +134,9 @@ dependencies:
105
134
  version_requirements: !ruby/object:Gem::Version::Requirement
106
135
  requirements:
107
136
  -
108
- - "="
137
+ - ">="
109
138
  - !ruby/object:Gem::Version
110
- version: 1.5.0
139
+ version: 1.5.1
111
140
  version:
112
141
  - !ruby/object:Gem::Dependency
113
142
  name: activerecord
@@ -115,9 +144,9 @@ dependencies:
115
144
  version_requirements: !ruby/object:Gem::Version::Requirement
116
145
  requirements:
117
146
  -
118
- - "="
147
+ - ">="
119
148
  - !ruby/object:Gem::Version
120
- version: 1.7.0
149
+ version: 1.8.0
121
150
  version:
122
151
  - !ruby/object:Gem::Dependency
123
152
  name: activesupport
@@ -125,7 +154,7 @@ dependencies:
125
154
  version_requirements: !ruby/object:Gem::Version::Requirement
126
155
  requirements:
127
156
  -
128
- - "="
157
+ - ">="
129
158
  - !ruby/object:Gem::Version
130
- version: 1.0.0
159
+ version: 1.0.1
131
160
  version: