wadl 0.2.6 → 0.2.7
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.
- data/README +4 -4
- data/lib/wadl/address.rb +28 -14
- data/lib/wadl/cli.rb +5 -3
- data/lib/wadl/resource.rb +11 -6
- data/lib/wadl/resource_and_address.rb +5 -0
- data/lib/wadl/version.rb +1 -1
- data/test/wadl_test.rb +71 -22
- metadata +93 -105
data/README
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
== VERSION
|
4
4
|
|
5
|
-
This documentation refers to wadl version 0.2.
|
5
|
+
This documentation refers to wadl version 0.2.7
|
6
6
|
|
7
7
|
|
8
8
|
== DESCRIPTION
|
@@ -45,8 +45,8 @@ The 20060802 WADL standard is almost entirely supported. However,
|
|
45
45
|
== LINKS
|
46
46
|
|
47
47
|
<b></b>
|
48
|
-
Homepage:: http://www.crummy.com/software/wadl.rb
|
49
|
-
WADL:: http://wadl.
|
48
|
+
Homepage:: http://www.crummy.com/software/wadl.rb
|
49
|
+
WADL:: http://wadl.java.net
|
50
50
|
Documentation:: http://rdoc.info/projects/blackwinter/wadl
|
51
51
|
Source code:: http://github.com/blackwinter/wadl
|
52
52
|
|
@@ -60,7 +60,7 @@ Source code:: http://github.com/blackwinter/wadl
|
|
60
60
|
== LICENSE AND COPYRIGHT
|
61
61
|
|
62
62
|
Copyright (C) 2006-2008 Leonard Richardson
|
63
|
-
Copyright (C) 2010-
|
63
|
+
Copyright (C) 2010-2012 Jens Wille
|
64
64
|
|
65
65
|
wadl is free software: you can redistribute it and/or modify it under
|
66
66
|
the terms of the GNU Affero General Public License as published by the
|
data/lib/wadl/address.rb
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
# A component of wadl, the super cheap Ruby WADL client. #
|
5
5
|
# #
|
6
6
|
# Copyright (C) 2006-2008 Leonard Richardson #
|
7
|
-
# Copyright (C) 2010-
|
7
|
+
# Copyright (C) 2010-2012 Jens Wille #
|
8
8
|
# #
|
9
9
|
# Authors: #
|
10
10
|
# Leonard Richardson <leonardr@segfault.org> (Original author) #
|
@@ -50,11 +50,13 @@ module WADL
|
|
50
50
|
path_params = {}, query_params = {}, header_params = {})
|
51
51
|
@path_fragments, @query_vars, @headers = path_fragments, query_vars, headers
|
52
52
|
@path_params, @query_params, @header_params = path_params, query_params, header_params
|
53
|
+
|
54
|
+
@auth = {}
|
53
55
|
end
|
54
56
|
|
55
57
|
# Perform a deep copy.
|
56
58
|
def deep_copy
|
57
|
-
Address.new(
|
59
|
+
address = Address.new(
|
58
60
|
_deep_copy_array(@path_fragments),
|
59
61
|
_deep_copy_array(@query_vars),
|
60
62
|
_deep_copy_hash(@headers),
|
@@ -62,6 +64,10 @@ module WADL
|
|
62
64
|
@query_params.dup,
|
63
65
|
@header_params.dup
|
64
66
|
)
|
67
|
+
|
68
|
+
@auth.each { |header, value| address.auth(header, value) }
|
69
|
+
|
70
|
+
address
|
65
71
|
end
|
66
72
|
|
67
73
|
def to_s
|
@@ -69,6 +75,7 @@ module WADL
|
|
69
75
|
" Path fragments: #{@path_fragments.inspect}\n" <<
|
70
76
|
" Query variables: #{@query_vars.inspect}\n" <<
|
71
77
|
" Header variables: #{@headers.inspect}\n" <<
|
78
|
+
" Authorization parameters: #{@auth.inspect}\n" <<
|
72
79
|
" Unbound path parameters: #{@path_params.inspect}\n" <<
|
73
80
|
" Unbound query parameters: #{@query_params.inspect}\n" <<
|
74
81
|
" Unbound header parameters: #{@header_params.inspect}\n"
|
@@ -82,6 +89,8 @@ module WADL
|
|
82
89
|
query_var_values = args[:query] || {}
|
83
90
|
header_var_values = args[:headers] || {}
|
84
91
|
|
92
|
+
@auth.each { |header, value| header_var_values[header] = value }.clear
|
93
|
+
|
85
94
|
# Bind variables found in the path fragments.
|
86
95
|
path_params_to_delete = []
|
87
96
|
|
@@ -89,17 +98,17 @@ module WADL
|
|
89
98
|
if fragment.respond_to?(:to_str)
|
90
99
|
# This fragment is a string which might contain {} substitutions.
|
91
100
|
# Make any substitutions available to the provided path variables.
|
92
|
-
self.class.embedded_param_names(fragment).each { |
|
93
|
-
value = path_var_values[
|
101
|
+
self.class.embedded_param_names(fragment).each { |name|
|
102
|
+
value = path_var_values[name] || path_var_values[name.to_sym]
|
94
103
|
|
95
|
-
value = if param = path_params[
|
104
|
+
value = if param = path_params[name]
|
96
105
|
path_params_to_delete << param
|
97
106
|
param % value
|
98
107
|
else
|
99
|
-
Param.default.format(value,
|
108
|
+
Param.default.format(value, name)
|
100
109
|
end
|
101
110
|
|
102
|
-
fragment.gsub!("{#{
|
111
|
+
fragment.gsub!("{#{name}}", value)
|
103
112
|
}
|
104
113
|
else
|
105
114
|
# This fragment is an array of Param objects (style 'matrix'
|
@@ -107,15 +116,15 @@ module WADL
|
|
107
116
|
# happen, the array will become a mixed array of Param objects
|
108
117
|
# and strings.
|
109
118
|
fragment.each_with_index { |param, i|
|
110
|
-
|
111
|
-
name = param.name
|
119
|
+
next unless param.respond_to?(:name)
|
112
120
|
|
113
|
-
|
114
|
-
value = param % value
|
115
|
-
fragment[i] = value if value
|
121
|
+
name = param.name
|
116
122
|
|
117
|
-
|
118
|
-
|
123
|
+
value = path_var_values[name] || path_var_values[name.to_sym]
|
124
|
+
value = param % value
|
125
|
+
fragment[i] = value if value
|
126
|
+
|
127
|
+
path_params_to_delete << param
|
119
128
|
}
|
120
129
|
end
|
121
130
|
}
|
@@ -142,6 +151,11 @@ module WADL
|
|
142
151
|
self
|
143
152
|
end
|
144
153
|
|
154
|
+
def auth(header, value)
|
155
|
+
@auth[header] = value
|
156
|
+
self
|
157
|
+
end
|
158
|
+
|
145
159
|
def uri(args = {})
|
146
160
|
obj, uri = deep_copy.bind!(args), ''
|
147
161
|
|
data/lib/wadl/cli.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
# #
|
4
4
|
# A component of wadl, the super cheap Ruby WADL client. #
|
5
5
|
# #
|
6
|
-
# Copyright (C) 2010-
|
6
|
+
# Copyright (C) 2010-2012 Jens Wille #
|
7
7
|
# #
|
8
8
|
# Authors: #
|
9
9
|
# Jens Wille <jens.wille@uni-koeln.de> #
|
@@ -134,12 +134,14 @@ module WADL
|
|
134
134
|
if arg =~ OPTION_RE
|
135
135
|
key, value, next_arg = $1, $2, arguments[index + 1]
|
136
136
|
|
137
|
-
|
137
|
+
value ||= if next_arg.nil? || next_arg =~ OPTION_RE
|
138
138
|
'1' # "true"
|
139
139
|
else
|
140
140
|
skip_next = true
|
141
141
|
next_arg
|
142
|
-
end
|
142
|
+
end
|
143
|
+
|
144
|
+
add_param(query, key, value)
|
143
145
|
else
|
144
146
|
resource_path << arg
|
145
147
|
end
|
data/lib/wadl/resource.rb
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
# A component of wadl, the super cheap Ruby WADL client. #
|
5
5
|
# #
|
6
6
|
# Copyright (C) 2006-2008 Leonard Richardson #
|
7
|
-
# Copyright (C) 2010-
|
7
|
+
# Copyright (C) 2010-2012 Jens Wille #
|
8
8
|
# #
|
9
9
|
# Authors: #
|
10
10
|
# Leonard Richardson <leonardr@segfault.org> (Original author) #
|
@@ -44,19 +44,24 @@ module WADL
|
|
44
44
|
super
|
45
45
|
end
|
46
46
|
|
47
|
+
def resource_and_address(child = self, *args)
|
48
|
+
ResourceAndAddress.new(child, *args)
|
49
|
+
end
|
50
|
+
|
47
51
|
def dereference_with_context(child)
|
48
|
-
|
52
|
+
resource_and_address(child, parent.address)
|
49
53
|
end
|
50
54
|
|
51
55
|
# Returns a ResourceAndAddress object bound to this resource
|
52
56
|
# and the given query variables.
|
53
57
|
def bind(args = {})
|
54
|
-
|
58
|
+
resource_and_address.bind!(args)
|
55
59
|
end
|
56
60
|
|
57
61
|
# Sets basic auth parameters
|
58
62
|
def with_basic_auth(user, pass, header = 'Authorization')
|
59
|
-
|
63
|
+
resource_and_address.auth(header,
|
64
|
+
"Basic #{["#{user}:#{pass}"].pack('m')}")
|
60
65
|
end
|
61
66
|
|
62
67
|
# Sets OAuth parameters
|
@@ -67,8 +72,8 @@ module WADL
|
|
67
72
|
# :access_token
|
68
73
|
# :token_secret
|
69
74
|
def with_oauth(*args)
|
70
|
-
|
71
|
-
|
75
|
+
resource_and_address.auth(HTTPMethod::OAUTH_HEADER,
|
76
|
+
"#{HTTPMethod::OAUTH_PREFIX}#{args.to_yaml}")
|
72
77
|
end
|
73
78
|
|
74
79
|
def uri(args = {}, working_address = nil)
|
data/lib/wadl/version.rb
CHANGED
data/test/wadl_test.rb
CHANGED
@@ -24,7 +24,7 @@ class WADLTest < Test::Unit::TestCase
|
|
24
24
|
EOT
|
25
25
|
end
|
26
26
|
|
27
|
-
# Null test to shut the compiler up.
|
27
|
+
# Null test to shut the compiler up. (Ruby < 1.9)
|
28
28
|
def test_null
|
29
29
|
end
|
30
30
|
|
@@ -251,10 +251,12 @@ class PathParameters < WADLTest
|
|
251
251
|
assert_equal(lights.uri(:path => { :light3 => true }), off_uri)
|
252
252
|
end
|
253
253
|
|
254
|
-
|
254
|
+
end
|
255
|
+
|
256
|
+
class RequestFormatTests < WADLTest
|
255
257
|
|
256
|
-
|
257
|
-
|
258
|
+
def setup
|
259
|
+
@wadl = wadl(<<-EOT)
|
258
260
|
<resources base="http://www.example.com/">
|
259
261
|
<resource id="top" path="palette">
|
260
262
|
<param style="form" name="api_key" />
|
@@ -279,32 +281,79 @@ class PathParameters < WADLTest
|
|
279
281
|
</representation>
|
280
282
|
</request>
|
281
283
|
</method>
|
282
|
-
|
284
|
+
EOT
|
285
|
+
|
286
|
+
@color = @wadl.find_resource('top').bind(:query => { :api_key => 'foobar' }).find_resource('color')
|
287
|
+
end
|
288
|
+
|
289
|
+
def test_query_vars
|
290
|
+
graphic = @color.find_method('get_graphic')
|
291
|
+
path = { :color => 'blue' }
|
292
|
+
query = { :shade => 'light' }
|
293
|
+
|
294
|
+
assert_equal(graphic.request.uri(@color, :path => path, :query => query),
|
295
|
+
'http://www.example.com/palette/colors/blue?shade=light')
|
296
|
+
|
297
|
+
assert_raises(ArgumentError) { graphic.request.uri(@color, path) }
|
298
|
+
end
|
299
|
+
|
300
|
+
def test_representation
|
301
|
+
graphic = @color.find_method('set_graphic')
|
302
|
+
representation = graphic.request.find_form
|
283
303
|
|
284
|
-
|
285
|
-
|
304
|
+
assert_equal(representation % { :new_graphic => 'foobar', 'filename' => 'blue.jpg' },
|
305
|
+
'new_graphic=foobar&filename=blue.jpg')
|
286
306
|
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
307
|
+
assert_raises(ArgumentError) { representation % { :new_graphic => 'foobar' } }
|
308
|
+
end
|
309
|
+
|
310
|
+
end
|
291
311
|
|
292
|
-
|
293
|
-
|
312
|
+
class AuthTests < WADLTest
|
313
|
+
|
314
|
+
def setup
|
315
|
+
@wadl = wadl(<<-EOT)
|
316
|
+
<resources base="http://www.example.com/">
|
317
|
+
<resource path="service/{id}.json" id="service_id_json">
|
318
|
+
<param name="Authorization" style="header"/>
|
319
|
+
<param name="id" style="template" type="plain"/>
|
320
|
+
<method name="DELETE" id="DELETE-service_id_json">
|
321
|
+
<request></request>
|
322
|
+
<response></response>
|
323
|
+
</method>
|
324
|
+
<method name="PUT" id="PUT-service_id_json">
|
325
|
+
<request>
|
326
|
+
<param name="body" style="header" type="application/json"/>
|
327
|
+
</request>
|
328
|
+
<response></response>
|
329
|
+
</method>
|
330
|
+
<method name="GET" id="GET-service_id_json">
|
331
|
+
<request></request>
|
332
|
+
<response>
|
333
|
+
<representation type="application/json"/>
|
334
|
+
</response>
|
335
|
+
</method>
|
336
|
+
</resource>
|
337
|
+
</resources>
|
338
|
+
EOT
|
294
339
|
|
295
|
-
|
296
|
-
|
340
|
+
@service = @wadl.resource(:service_id_json)
|
341
|
+
end
|
297
342
|
|
298
|
-
|
299
|
-
|
300
|
-
|
343
|
+
def test_basic_auth
|
344
|
+
assert_equal("Basic dTpw\n",
|
345
|
+
@service.with_basic_auth('u', 'p').uri.headers['Authorization'])
|
346
|
+
end
|
301
347
|
|
302
|
-
|
303
|
-
|
348
|
+
def test_template_params_with_basic_auth
|
349
|
+
arg = { :path => { :id => 42 } }
|
350
|
+
uri = 'http://www.example.com/service/42.json'
|
304
351
|
|
305
|
-
|
306
|
-
|
352
|
+
assert_equal(uri, u1 = @service.bind(arg).uri)
|
353
|
+
assert_equal(nil, u1.headers['Authorization'])
|
307
354
|
|
355
|
+
assert_equal(uri, u2 = @service.with_basic_auth('u', 'p').bind(arg).uri)
|
356
|
+
assert_equal("Basic dTpw\n", u2.headers['Authorization'])
|
308
357
|
end
|
309
358
|
|
310
359
|
end
|
metadata
CHANGED
@@ -1,162 +1,150 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: wadl
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.7
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 2
|
9
|
-
- 6
|
10
|
-
version: 0.2.6
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Leonard Richardson
|
14
9
|
- Jens Wille
|
15
10
|
autorequire:
|
16
11
|
bindir: bin
|
17
12
|
cert_chain: []
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
- !ruby/object:Gem::Dependency
|
13
|
+
date: 2012-10-15 00:00:00.000000000 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
22
16
|
name: rest-open-uri
|
23
|
-
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
25
18
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
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: mime-types
|
37
24
|
prerelease: false
|
38
|
-
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
39
26
|
none: false
|
40
|
-
requirements:
|
41
|
-
- -
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
27
|
+
requirements:
|
28
|
+
- - ! '>='
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: '0'
|
31
|
+
- !ruby/object:Gem::Dependency
|
32
|
+
name: mime-types
|
33
|
+
requirement: !ruby/object:Gem::Requirement
|
34
|
+
none: false
|
35
|
+
requirements:
|
36
|
+
- - ! '>='
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '0'
|
47
39
|
type: :runtime
|
48
|
-
version_requirements: *id002
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
name: ruby-nuggets
|
51
40
|
prerelease: false
|
52
|
-
|
41
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
42
|
none: false
|
54
|
-
requirements:
|
55
|
-
- -
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
43
|
+
requirements:
|
44
|
+
- - ! '>='
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: ruby-nuggets
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
62
54
|
version: 0.7.3
|
63
55
|
type: :runtime
|
64
|
-
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ! '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 0.7.3
|
65
63
|
description: Ruby client for the Web Application Description Language.
|
66
|
-
email:
|
64
|
+
email:
|
67
65
|
- leonardr@segfault.org
|
68
66
|
- jens.wille@uni-koeln.de
|
69
|
-
executables:
|
67
|
+
executables:
|
70
68
|
- wadl
|
71
69
|
extensions: []
|
72
|
-
|
73
|
-
extra_rdoc_files:
|
70
|
+
extra_rdoc_files:
|
74
71
|
- README
|
75
72
|
- COPYING
|
76
73
|
- ChangeLog
|
77
|
-
files:
|
78
|
-
- lib/wadl.rb
|
79
|
-
- lib/wadl/uri_parts.rb
|
80
|
-
- lib/wadl/resource.rb
|
81
|
-
- lib/wadl/response.rb
|
82
|
-
- lib/wadl/option.rb
|
83
|
-
- lib/wadl/param.rb
|
84
|
-
- lib/wadl/application.rb
|
85
|
-
- lib/wadl/resource_and_address.rb
|
74
|
+
files:
|
86
75
|
- lib/wadl/fault_format.rb
|
87
76
|
- lib/wadl/version.rb
|
88
|
-
- lib/wadl/link.rb
|
89
|
-
- lib/wadl/response_format.rb
|
90
|
-
- lib/wadl/resources.rb
|
91
|
-
- lib/wadl/representation_container.rb
|
92
77
|
- lib/wadl/cli.rb
|
93
78
|
- lib/wadl/address.rb
|
94
79
|
- lib/wadl/http_method.rb
|
95
|
-
- lib/wadl/
|
80
|
+
- lib/wadl/option.rb
|
81
|
+
- lib/wadl/request_format.rb
|
82
|
+
- lib/wadl/link.rb
|
83
|
+
- lib/wadl/representation_container.rb
|
84
|
+
- lib/wadl/response.rb
|
96
85
|
- lib/wadl/xml_representation.rb
|
97
|
-
- lib/wadl/cheap_schema.rb
|
98
|
-
- lib/wadl/resource_container.rb
|
99
86
|
- lib/wadl/resource_type.rb
|
87
|
+
- lib/wadl/response_format.rb
|
88
|
+
- lib/wadl/resource_and_address.rb
|
89
|
+
- lib/wadl/resource_container.rb
|
90
|
+
- lib/wadl/documentation.rb
|
91
|
+
- lib/wadl/resources.rb
|
92
|
+
- lib/wadl/application.rb
|
93
|
+
- lib/wadl/uri_parts.rb
|
94
|
+
- lib/wadl/has_docs.rb
|
100
95
|
- lib/wadl/fault.rb
|
101
|
-
- lib/wadl/request_format.rb
|
102
96
|
- lib/wadl/representation_format.rb
|
103
|
-
- lib/wadl/
|
97
|
+
- lib/wadl/param.rb
|
98
|
+
- lib/wadl/resource.rb
|
99
|
+
- lib/wadl/cheap_schema.rb
|
100
|
+
- lib/wadl.rb
|
104
101
|
- bin/wadl
|
105
|
-
- ChangeLog
|
106
102
|
- COPYING
|
107
|
-
- README
|
108
|
-
- Rakefile
|
109
103
|
- TODO
|
110
|
-
-
|
104
|
+
- ChangeLog
|
105
|
+
- Rakefile
|
106
|
+
- README
|
107
|
+
- example/config.yaml
|
108
|
+
- example/delicious.rb
|
109
|
+
- example/yahoo.wadl
|
111
110
|
- example/yahoo.rb
|
111
|
+
- example/crummy.rb
|
112
|
+
- example/YahooSearch.rb
|
112
113
|
- example/crummy.wadl
|
113
|
-
- example/YahooSearch.wadl
|
114
|
-
- example/README
|
115
114
|
- example/delicious.wadl
|
116
|
-
- example/
|
117
|
-
- example/
|
118
|
-
- example/crummy.rb
|
119
|
-
- example/config.yaml
|
115
|
+
- example/README
|
116
|
+
- example/YahooSearch.wadl
|
120
117
|
- test/wadl_test.rb
|
121
118
|
homepage: http://github.com/blackwinter/wadl
|
122
119
|
licenses: []
|
123
|
-
|
124
120
|
post_install_message:
|
125
|
-
rdoc_options:
|
126
|
-
- --line-numbers
|
127
|
-
- --main
|
128
|
-
- README
|
129
|
-
- --all
|
121
|
+
rdoc_options:
|
130
122
|
- --charset
|
131
123
|
- UTF-8
|
124
|
+
- --line-numbers
|
125
|
+
- --all
|
132
126
|
- --title
|
133
|
-
- wadl Application documentation (v0.2.
|
134
|
-
|
127
|
+
- wadl Application documentation (v0.2.7)
|
128
|
+
- --main
|
129
|
+
- README
|
130
|
+
require_paths:
|
135
131
|
- lib
|
136
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
132
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
137
133
|
none: false
|
138
|
-
requirements:
|
139
|
-
- -
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
|
142
|
-
|
143
|
-
- 0
|
144
|
-
version: "0"
|
145
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - ! '>='
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '0'
|
138
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
146
139
|
none: false
|
147
|
-
requirements:
|
148
|
-
- -
|
149
|
-
- !ruby/object:Gem::Version
|
150
|
-
|
151
|
-
segments:
|
152
|
-
- 0
|
153
|
-
version: "0"
|
140
|
+
requirements:
|
141
|
+
- - ! '>='
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: '0'
|
154
144
|
requirements: []
|
155
|
-
|
156
145
|
rubyforge_project:
|
157
|
-
rubygems_version: 1.8.
|
146
|
+
rubygems_version: 1.8.24
|
158
147
|
signing_key:
|
159
148
|
specification_version: 3
|
160
149
|
summary: Ruby client for the Web Application Description Language.
|
161
150
|
test_files: []
|
162
|
-
|