restfully 1.0.5 → 1.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +514 -20
- data/README.md +5 -2
- data/lib/restfully/media_type/application_vnd_bonfire_xml.rb +1 -1
- data/lib/restfully/version.rb +1 -1
- data/spec/restfully/http/request_spec.rb +2 -3
- data/spec/restfully/media_type/application_vnd_bonfire_xml_spec.rb +44 -25
- data/spec/restfully/media_type_spec.rb +1 -1
- metadata +251 -242
data/README.md
CHANGED
@@ -141,5 +141,8 @@ See the `examples` directory for examples.
|
|
141
141
|
|
142
142
|
## Copyright
|
143
143
|
|
144
|
-
Copyright (c) 2009-
|
145
|
-
|
144
|
+
Copyright (c) 2009-2012 [Cyril Rohr](http://crohr.me), INRIA Rennes - Bretagne Atlantique.
|
145
|
+
|
146
|
+
See LICENSE for details ([CeCILL-B] [cecillb], a BSD style license).
|
147
|
+
|
148
|
+
[cecillb]: http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
|
@@ -121,7 +121,7 @@ module Restfully
|
|
121
121
|
else
|
122
122
|
h[key] = [h[key], value]
|
123
123
|
end
|
124
|
-
elsif ["disk", "nic", "link", "computes", "networks", "storages"].include?(key)
|
124
|
+
elsif ["disk", "nic", "link", "computes", "networks", "storages", "endpoint", "site_link", "interface", "network_link"].include?(key)
|
125
125
|
h[key] = [value]
|
126
126
|
else
|
127
127
|
h[key] = value
|
data/lib/restfully/version.rb
CHANGED
@@ -48,9 +48,8 @@ describe Restfully::HTTP::Request do
|
|
48
48
|
|
49
49
|
it "should correctly update the request with the given parameters" do
|
50
50
|
@options[:query] = {:k1 => 'v1', :k2 => [1,2,3]}
|
51
|
-
@options[:head]['Accept'] = 'text/plain'
|
52
51
|
request = Restfully::HTTP::Request.new(@session, :get, "/path", @options)
|
53
|
-
request.update!(:headers => {'whatever' => 'value'}, :query => {'k1' => 'xx'}).should_not be_nil
|
52
|
+
request.update!(:headers => {'whatever' => 'value', 'Accept' => 'text/plain'}, :query => {'k1' => 'xx'}).should_not be_nil
|
54
53
|
request.uri.to_s.should == 'https://api.grid5000.fr/path?k1=xx'
|
55
54
|
request.head.should include("Whatever"=>"value", 'Accept' => 'text/plain')
|
56
55
|
end
|
@@ -74,7 +73,7 @@ describe Restfully::HTTP::Request do
|
|
74
73
|
request.head['Content-Type'].
|
75
74
|
should == 'application/x-www-form-urlencoded'
|
76
75
|
request.method.should == :post
|
77
|
-
request.body.should ==
|
76
|
+
request.body.should == Restfully::MediaType::ApplicationXWwwFormUrlencoded.serialize(@options[:body])
|
78
77
|
end
|
79
78
|
|
80
79
|
it "should correctly build the request [body as hash, content-type=json]" do
|
@@ -16,32 +16,32 @@ describe Restfully::MediaType::ApplicationVndBonfireXml do
|
|
16
16
|
media.io.should == @fixture
|
17
17
|
media.unserialized.should be_a(Hash)
|
18
18
|
end
|
19
|
-
|
19
|
+
|
20
20
|
it "should build the Hash from the XML doc [resource]" do
|
21
21
|
media = Restfully::MediaType::ApplicationVndBonfireXml.new(@fixture, @session)
|
22
22
|
media.property.should == @expected_compute_hash
|
23
23
|
end
|
24
|
-
|
24
|
+
|
25
25
|
it "should build the Hash from the XML doc [resource] 2" do
|
26
26
|
media = Restfully::MediaType::ApplicationVndBonfireXml.new(
|
27
27
|
fixture("bonfire-network-existing.xml"), @session
|
28
28
|
)
|
29
29
|
media.property.should == {"name"=>"Private LAN", "public"=>"YES", "id"=>"29", "__type__"=>"network", "link"=>[{"href"=>"/locations/de-hlrs/networks/29", "rel"=>"self"}]}
|
30
30
|
end
|
31
|
-
|
31
|
+
|
32
32
|
it "should build the Hash from the XML doc [resource] 3" do
|
33
33
|
media = Restfully::MediaType::ApplicationVndBonfireXml.new(
|
34
34
|
fixture("bonfire-experiment.xml"), @session
|
35
35
|
)
|
36
36
|
media.property.should == {"name"=>"expe1", "walltime"=>"2011-04-28T16:16:34Z", "id"=>"12", "__type__"=>"experiment", "user_id"=>"crohr", "storages"=>[{"name"=>"data", "href"=>"/locations/uk-epcc/storages/44"}], "description"=>"description expe1", "computes"=>[{"name"=>"compute expe1", "href"=>"/locations/fr-inria/computes/76"}, {"name"=>"compute2 expe1", "href"=>"/locations/uk-epcc/computes/47"}, {"name"=>"compute2 expe1", "href"=>"/locations/uk-epcc/computes/48"}], "link"=>[{"href"=>"/", "rel"=>"parent"}, {"href"=>"/experiments/12/storages", "rel"=>"storages"}, {"href"=>"/experiments/12/networks", "rel"=>"networks"}, {"href"=>"/experiments/12/computes", "rel"=>"computes"}, {"href"=>"/experiments/12", "rel"=>"self"}], "status"=>"running"}
|
37
37
|
end
|
38
|
-
|
38
|
+
|
39
39
|
it "should build the Hash from the XML doc [collection]" do
|
40
40
|
media = Restfully::MediaType::ApplicationVndBonfireXml.new(@collection, @session)
|
41
41
|
media.should be_collection
|
42
42
|
media.property.should == {"items"=>[{"address"=>"10.0.0.1", "name"=>"Network1", "size"=>"C", "__type__"=>"network", "description"=>"Network1 description", "link"=>[{"href"=>"/locations/fr-inria", "rel"=>"location"}, {"href"=>"/locations/fr-inria/networks/1", "rel"=>"self"}], "visibility"=>"public"}, {"address"=>"10.0.0.1", "name"=>"Network2", "size"=>"C", "__type__"=>"network", "description"=>"Network2 description", "link"=>[{"href"=>"/locations/fr-inria", "rel"=>"location"}, {"href"=>"/locations/fr-inria/networks/2", "rel"=>"self"}], "visibility"=>"private"}], "total"=>2, "offset"=>0, "__type__"=>"network_collection", "link"=>[{"href"=>"/locations/fr-inria/networks?limit=20", "rel"=>"top", "type"=>"application/vnd.bonfire+xml"}, {"href"=>"/locations/fr-inria", "rel"=>"parent", "type"=>"application/vnd.bonfire+xml"}, {"href"=>"/locations/fr-inria/networks", "rel"=>"self"}]}
|
43
43
|
end
|
44
|
-
|
44
|
+
|
45
45
|
it "should build the Hash from the XML doc [empty collection]" do
|
46
46
|
media = Restfully::MediaType::ApplicationVndBonfireXml.new(
|
47
47
|
fixture("bonfire-empty-collection.xml"), @session
|
@@ -51,15 +51,15 @@ describe Restfully::MediaType::ApplicationVndBonfireXml do
|
|
51
51
|
media.each{|i| items << i}
|
52
52
|
items.should be_empty
|
53
53
|
end
|
54
|
-
|
54
|
+
|
55
55
|
it "should be able to iterate over a collection" do
|
56
56
|
media = Restfully::MediaType::ApplicationVndBonfireXml.new(fixture("bonfire-experiment-collection.xml"), @session)
|
57
57
|
items = []
|
58
58
|
media.each{|i| items<<i}
|
59
59
|
items.length.should == 3
|
60
60
|
end
|
61
|
-
|
62
|
-
|
61
|
+
|
62
|
+
|
63
63
|
end
|
64
64
|
|
65
65
|
describe "restfully resource" do
|
@@ -67,35 +67,35 @@ describe Restfully::MediaType::ApplicationVndBonfireXml do
|
|
67
67
|
req = Restfully::HTTP::Request.new(@session, :get, "http://localhost:8000/locations/de-hlrs/networks/29", :head => {
|
68
68
|
'Accept' => 'application/vnd.bonfire+xml'
|
69
69
|
})
|
70
|
-
|
70
|
+
|
71
71
|
res = Restfully::HTTP::Response.new(@session, 200, {
|
72
72
|
'Content-Type' => 'application/vnd.bonfire+xml'
|
73
73
|
}, fixture("bonfire-network-existing.xml"))
|
74
|
-
|
74
|
+
|
75
75
|
res.media_type.should be_a(
|
76
76
|
Restfully::MediaType::ApplicationVndBonfireXml
|
77
77
|
)
|
78
|
-
|
78
|
+
|
79
79
|
resource = Restfully::Resource.new(@session, res, req).load
|
80
|
-
|
80
|
+
|
81
81
|
resource.uri.to_s.should == "http://localhost:8000/locations/de-hlrs/networks/29"
|
82
82
|
resource.collection?.should be_false
|
83
83
|
resource.properties.should == {"name"=>"Private LAN", "public"=>"YES", "id"=>"29"}
|
84
84
|
end
|
85
|
-
|
85
|
+
|
86
86
|
it "should correctly load and iterate over a collection" do
|
87
87
|
req = Restfully::HTTP::Request.new(@session, :get, "http://localhost:8000/experiments", :head => {
|
88
88
|
'Accept' => 'application/vnd.bonfire+xml'
|
89
89
|
})
|
90
|
-
|
90
|
+
|
91
91
|
res = Restfully::HTTP::Response.new(@session, 200, {
|
92
92
|
'Content-Type' => 'application/vnd.bonfire+xml'
|
93
93
|
}, fixture("bonfire-experiment-collection.xml"))
|
94
|
-
|
94
|
+
|
95
95
|
res.media_type.should be_a(Restfully::MediaType::ApplicationVndBonfireXml)
|
96
|
-
|
96
|
+
|
97
97
|
collection = Restfully::Resource.new(@session, res, req).load
|
98
|
-
|
98
|
+
|
99
99
|
collection.uri.to_s.should == "http://localhost:8000/experiments"
|
100
100
|
collection.collection?.should be_true
|
101
101
|
collection.length.should == 3
|
@@ -108,18 +108,18 @@ describe Restfully::MediaType::ApplicationVndBonfireXml do
|
|
108
108
|
collection[-1].should == collection.last
|
109
109
|
collection[10].should be_nil
|
110
110
|
end
|
111
|
-
|
111
|
+
|
112
112
|
it "should correctly load an empty collection" do
|
113
113
|
req = Restfully::HTTP::Request.new(@session, :get, "http://localhost:8000/locations/uk-epcc/computes", :head => {
|
114
114
|
'Accept' => 'application/vnd.bonfire+xml'
|
115
115
|
})
|
116
|
-
|
116
|
+
|
117
117
|
res = Restfully::HTTP::Response.new(@session, 200, {
|
118
118
|
'Content-Type' => 'application/vnd.bonfire+xml'
|
119
119
|
}, fixture("bonfire-empty-collection.xml"))
|
120
|
-
|
120
|
+
|
121
121
|
res.media_type.should be_a(Restfully::MediaType::ApplicationVndBonfireXml)
|
122
|
-
|
122
|
+
|
123
123
|
collection = Restfully::Resource.new(@session, res, req).load
|
124
124
|
collection.collection?.should be_true
|
125
125
|
collection.length.should == 0
|
@@ -150,13 +150,32 @@ describe Restfully::MediaType::ApplicationVndBonfireXml do
|
|
150
150
|
|
151
151
|
describe "serializing to xml" do
|
152
152
|
it "should correctly serialize a resource" do
|
153
|
+
ns = "occi:http://api.bonfire-project.eu/doc/schemas/occi"
|
153
154
|
serialized = Restfully::MediaType::ApplicationVndBonfireXml.serialize(
|
154
155
|
@expected_compute_hash,
|
155
156
|
:serialization => {"__type__" => "compute"}
|
156
157
|
)
|
157
|
-
|
158
|
+
|
159
|
+
xml = XML::Document.string(serialized)
|
160
|
+
xml.root.find_first("occi:name", ns).content.should == "Compute name"
|
161
|
+
xml.root.find_first("occi:instance_type", ns).content.should == "small"
|
162
|
+
nics = xml.root.find("occi:nic", ns)
|
163
|
+
nics.length.should == 2
|
164
|
+
nics[0]['id'].should == "0"
|
165
|
+
nics[1]['id'].should == "1"
|
166
|
+
nics[0].find_first("occi:mac", ns).content.should == "AA:AA:AA:AA"
|
167
|
+
disks = xml.root.find("occi:disk", ns)
|
168
|
+
disks.length.should == 2
|
169
|
+
disks[1].find_first("occi:storage", ns)['href'].should == "/locations/fr-inria/storages/2"
|
170
|
+
links = xml.root.find("occi:link", ns)
|
171
|
+
links.length.should == 2
|
172
|
+
links[0]['href'].should == "/locations/fr-inria"
|
173
|
+
links[0]['type'].should == "application/vnd.bonfire+xml"
|
174
|
+
xml.root.
|
175
|
+
find_first('occi:context', ns).
|
176
|
+
find_first('occi:bonfire_credentials', ns).content.should == "crohr:p4ssw0rd"
|
158
177
|
end
|
159
|
-
|
178
|
+
|
160
179
|
it "should correctly deal with XML::Node elements" do
|
161
180
|
serialized = Restfully::MediaType::ApplicationVndBonfireXml.serialize({
|
162
181
|
:context => {
|
@@ -165,11 +184,11 @@ describe Restfully::MediaType::ApplicationVndBonfireXml do
|
|
165
184
|
}, :serialization => {"__type__" => "compute"})
|
166
185
|
serialized.split("\n").sort.should == "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<compute xmlns=\"http://api.bonfire-project.eu/doc/schemas/occi\">\n <context>\n <metrics><![CDATA[<metric>hello,world</metric>]]></metrics>\n </context>\n</compute>\n".split("\n").sort
|
167
186
|
end
|
168
|
-
|
187
|
+
|
169
188
|
it "should correctly deal with SAVE_AS elements" do
|
170
189
|
serialized = Restfully::MediaType::ApplicationVndBonfireXml.serialize(
|
171
190
|
{
|
172
|
-
:name => "whatever",
|
191
|
+
:name => "whatever",
|
173
192
|
:disk => [{
|
174
193
|
:save_as => {:name => "name of storage"},
|
175
194
|
:storage => {"href" => "/somewhere"}
|
@@ -120,7 +120,7 @@ describe Restfully::MediaType do
|
|
120
120
|
end
|
121
121
|
it "should correctly encode a hash" do
|
122
122
|
Restfully::MediaType::ApplicationXWwwFormUrlencoded.
|
123
|
-
serialize(@unserialized).should ==
|
123
|
+
serialize(@unserialized).split("&").sort.should == ["k1=value", "k2[]=a", "k2[]=b", "k2[]=c"]
|
124
124
|
end
|
125
125
|
it "should correctly decode a string" do
|
126
126
|
Restfully::MediaType::ApplicationXWwwFormUrlencoded.
|
metadata
CHANGED
@@ -1,279 +1,298 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: restfully
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.6
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 0
|
9
|
-
- 5
|
10
|
-
version: 1.0.5
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Cyril Rohr
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-09-08 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
22
15
|
name: json
|
23
|
-
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
25
17
|
none: false
|
26
|
-
requirements:
|
18
|
+
requirements:
|
27
19
|
- - ~>
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
segments:
|
31
|
-
- 1
|
32
|
-
- 5
|
33
|
-
version: "1.5"
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '1.5'
|
34
22
|
type: :runtime
|
35
|
-
version_requirements: *id001
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
|
-
name: rest-client
|
38
23
|
prerelease: false
|
39
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.5'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rest-client
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
40
33
|
none: false
|
41
|
-
requirements:
|
34
|
+
requirements:
|
42
35
|
- - ~>
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
|
45
|
-
segments:
|
46
|
-
- 1
|
47
|
-
- 6
|
48
|
-
version: "1.6"
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '1.6'
|
49
38
|
type: :runtime
|
50
|
-
version_requirements: *id002
|
51
|
-
- !ruby/object:Gem::Dependency
|
52
|
-
name: rest-client-components
|
53
39
|
prerelease: false
|
54
|
-
|
55
|
-
none: false
|
56
|
-
requirements:
|
57
|
-
- -
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '1.6'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rest-client-components
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
63
54
|
type: :runtime
|
64
|
-
version_requirements: *id003
|
65
|
-
- !ruby/object:Gem::Dependency
|
66
|
-
name: rack-cache
|
67
55
|
prerelease: false
|
68
|
-
|
69
|
-
none: false
|
70
|
-
requirements:
|
71
|
-
- -
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: rack-cache
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
77
70
|
type: :runtime
|
78
|
-
version_requirements: *id004
|
79
|
-
- !ruby/object:Gem::Dependency
|
80
|
-
name: backports
|
81
71
|
prerelease: false
|
82
|
-
|
83
|
-
none: false
|
84
|
-
requirements:
|
85
|
-
- -
|
86
|
-
- !ruby/object:Gem::Version
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: backports
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
91
86
|
type: :runtime
|
92
|
-
version_requirements: *id005
|
93
|
-
- !ruby/object:Gem::Dependency
|
94
|
-
name: addressable
|
95
87
|
prerelease: false
|
96
|
-
|
97
|
-
none: false
|
98
|
-
requirements:
|
99
|
-
- -
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: addressable
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
105
102
|
type: :runtime
|
106
|
-
version_requirements: *id006
|
107
|
-
- !ruby/object:Gem::Dependency
|
108
|
-
name: ripl
|
109
103
|
prerelease: false
|
110
|
-
|
111
|
-
none: false
|
112
|
-
requirements:
|
113
|
-
- -
|
114
|
-
- !ruby/object:Gem::Version
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: ripl
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - '='
|
116
|
+
- !ruby/object:Gem::Version
|
120
117
|
version: 0.6.1
|
121
118
|
type: :runtime
|
122
|
-
version_requirements: *id007
|
123
|
-
- !ruby/object:Gem::Dependency
|
124
|
-
name: ripl-multi_line
|
125
119
|
prerelease: false
|
126
|
-
|
127
|
-
none: false
|
128
|
-
requirements:
|
129
|
-
- -
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - '='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 0.6.1
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: ripl-multi_line
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ! '>='
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '0'
|
135
134
|
type: :runtime
|
136
|
-
version_requirements: *id008
|
137
|
-
- !ruby/object:Gem::Dependency
|
138
|
-
name: ripl-color_streams
|
139
135
|
prerelease: false
|
140
|
-
|
141
|
-
none: false
|
142
|
-
requirements:
|
143
|
-
- -
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
142
|
+
- !ruby/object:Gem::Dependency
|
143
|
+
name: ripl-color_streams
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
146
|
+
requirements:
|
147
|
+
- - ! '>='
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: '0'
|
149
150
|
type: :runtime
|
150
|
-
version_requirements: *id009
|
151
|
-
- !ruby/object:Gem::Dependency
|
152
|
-
name: ripl-short_errors
|
153
151
|
prerelease: false
|
154
|
-
|
155
|
-
none: false
|
156
|
-
requirements:
|
157
|
-
- -
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ! '>='
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '0'
|
158
|
+
- !ruby/object:Gem::Dependency
|
159
|
+
name: ripl-short_errors
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
162
|
+
requirements:
|
163
|
+
- - ! '>='
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '0'
|
163
166
|
type: :runtime
|
164
|
-
version_requirements: *id010
|
165
|
-
- !ruby/object:Gem::Dependency
|
166
|
-
name: ripl-play
|
167
167
|
prerelease: false
|
168
|
-
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
169
|
none: false
|
170
|
-
requirements:
|
170
|
+
requirements:
|
171
|
+
- - ! '>='
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
- !ruby/object:Gem::Dependency
|
175
|
+
name: ripl-play
|
176
|
+
requirement: !ruby/object:Gem::Requirement
|
177
|
+
none: false
|
178
|
+
requirements:
|
171
179
|
- - ~>
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
hash: 21
|
174
|
-
segments:
|
175
|
-
- 0
|
176
|
-
- 2
|
177
|
-
- 1
|
180
|
+
- !ruby/object:Gem::Version
|
178
181
|
version: 0.2.1
|
179
182
|
type: :runtime
|
180
|
-
version_requirements: *id011
|
181
|
-
- !ruby/object:Gem::Dependency
|
182
|
-
name: rb-readline
|
183
183
|
prerelease: false
|
184
|
-
|
185
|
-
none: false
|
186
|
-
requirements:
|
187
|
-
- -
|
188
|
-
- !ruby/object:Gem::Version
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
184
|
+
version_requirements: !ruby/object:Gem::Requirement
|
185
|
+
none: false
|
186
|
+
requirements:
|
187
|
+
- - ~>
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: 0.2.1
|
190
|
+
- !ruby/object:Gem::Dependency
|
191
|
+
name: rb-readline
|
192
|
+
requirement: !ruby/object:Gem::Requirement
|
193
|
+
none: false
|
194
|
+
requirements:
|
195
|
+
- - ! '>='
|
196
|
+
- !ruby/object:Gem::Version
|
197
|
+
version: '0'
|
193
198
|
type: :runtime
|
194
|
-
version_requirements: *id012
|
195
|
-
- !ruby/object:Gem::Dependency
|
196
|
-
name: rake
|
197
199
|
prerelease: false
|
198
|
-
|
200
|
+
version_requirements: !ruby/object:Gem::Requirement
|
199
201
|
none: false
|
200
|
-
requirements:
|
202
|
+
requirements:
|
203
|
+
- - ! '>='
|
204
|
+
- !ruby/object:Gem::Version
|
205
|
+
version: '0'
|
206
|
+
- !ruby/object:Gem::Dependency
|
207
|
+
name: rake
|
208
|
+
requirement: !ruby/object:Gem::Requirement
|
209
|
+
none: false
|
210
|
+
requirements:
|
201
211
|
- - ~>
|
202
|
-
- !ruby/object:Gem::Version
|
203
|
-
|
204
|
-
segments:
|
205
|
-
- 0
|
206
|
-
- 8
|
207
|
-
version: "0.8"
|
212
|
+
- !ruby/object:Gem::Version
|
213
|
+
version: '0.8'
|
208
214
|
type: :development
|
209
|
-
version_requirements: *id013
|
210
|
-
- !ruby/object:Gem::Dependency
|
211
|
-
name: rspec
|
212
215
|
prerelease: false
|
213
|
-
|
216
|
+
version_requirements: !ruby/object:Gem::Requirement
|
214
217
|
none: false
|
215
|
-
requirements:
|
218
|
+
requirements:
|
216
219
|
- - ~>
|
217
|
-
- !ruby/object:Gem::Version
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: '0.8'
|
222
|
+
- !ruby/object:Gem::Dependency
|
223
|
+
name: rspec
|
224
|
+
requirement: !ruby/object:Gem::Requirement
|
225
|
+
none: false
|
226
|
+
requirements:
|
227
|
+
- - ~>
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
version: '2'
|
222
230
|
type: :development
|
223
|
-
version_requirements: *id014
|
224
|
-
- !ruby/object:Gem::Dependency
|
225
|
-
name: webmock
|
226
231
|
prerelease: false
|
227
|
-
|
228
|
-
none: false
|
229
|
-
requirements:
|
230
|
-
- -
|
231
|
-
- !ruby/object:Gem::Version
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
none: false
|
234
|
+
requirements:
|
235
|
+
- - ~>
|
236
|
+
- !ruby/object:Gem::Version
|
237
|
+
version: '2'
|
238
|
+
- !ruby/object:Gem::Dependency
|
239
|
+
name: webmock
|
240
|
+
requirement: !ruby/object:Gem::Requirement
|
241
|
+
none: false
|
242
|
+
requirements:
|
243
|
+
- - ! '>='
|
244
|
+
- !ruby/object:Gem::Version
|
245
|
+
version: '0'
|
236
246
|
type: :development
|
237
|
-
version_requirements: *id015
|
238
|
-
- !ruby/object:Gem::Dependency
|
239
|
-
name: autotest
|
240
247
|
prerelease: false
|
241
|
-
|
242
|
-
none: false
|
243
|
-
requirements:
|
244
|
-
- -
|
245
|
-
- !ruby/object:Gem::Version
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
248
|
+
version_requirements: !ruby/object:Gem::Requirement
|
249
|
+
none: false
|
250
|
+
requirements:
|
251
|
+
- - ! '>='
|
252
|
+
- !ruby/object:Gem::Version
|
253
|
+
version: '0'
|
254
|
+
- !ruby/object:Gem::Dependency
|
255
|
+
name: autotest
|
256
|
+
requirement: !ruby/object:Gem::Requirement
|
257
|
+
none: false
|
258
|
+
requirements:
|
259
|
+
- - ! '>='
|
260
|
+
- !ruby/object:Gem::Version
|
261
|
+
version: '0'
|
250
262
|
type: :development
|
251
|
-
version_requirements: *id016
|
252
|
-
- !ruby/object:Gem::Dependency
|
253
|
-
name: autotest-growl
|
254
263
|
prerelease: false
|
255
|
-
|
256
|
-
none: false
|
257
|
-
requirements:
|
258
|
-
- -
|
259
|
-
- !ruby/object:Gem::Version
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
+
version_requirements: !ruby/object:Gem::Requirement
|
265
|
+
none: false
|
266
|
+
requirements:
|
267
|
+
- - ! '>='
|
268
|
+
- !ruby/object:Gem::Version
|
269
|
+
version: '0'
|
270
|
+
- !ruby/object:Gem::Dependency
|
271
|
+
name: autotest-growl
|
272
|
+
requirement: !ruby/object:Gem::Requirement
|
273
|
+
none: false
|
274
|
+
requirements:
|
275
|
+
- - ! '>='
|
276
|
+
- !ruby/object:Gem::Version
|
277
|
+
version: '0'
|
264
278
|
type: :development
|
265
|
-
|
279
|
+
prerelease: false
|
280
|
+
version_requirements: !ruby/object:Gem::Requirement
|
281
|
+
none: false
|
282
|
+
requirements:
|
283
|
+
- - ! '>='
|
284
|
+
- !ruby/object:Gem::Version
|
285
|
+
version: '0'
|
266
286
|
description: Consume RESTful APIs effortlessly
|
267
|
-
email:
|
287
|
+
email:
|
268
288
|
- cyril.rohr@gmail.com
|
269
|
-
executables:
|
289
|
+
executables:
|
270
290
|
- restfully
|
271
291
|
extensions: []
|
272
|
-
|
273
|
-
extra_rdoc_files:
|
292
|
+
extra_rdoc_files:
|
274
293
|
- LICENSE
|
275
294
|
- README.md
|
276
|
-
files:
|
295
|
+
files:
|
277
296
|
- bin/restfully
|
278
297
|
- lib/restfully/collection.rb
|
279
298
|
- lib/restfully/configuration.rb
|
@@ -325,43 +344,32 @@ files:
|
|
325
344
|
- Rakefile
|
326
345
|
- LICENSE
|
327
346
|
- README.md
|
328
|
-
has_rdoc: true
|
329
347
|
homepage: http://github.com/crohr/restfully
|
330
348
|
licenses: []
|
331
|
-
|
332
349
|
post_install_message:
|
333
|
-
rdoc_options:
|
350
|
+
rdoc_options:
|
334
351
|
- --charset=UTF-8
|
335
|
-
require_paths:
|
352
|
+
require_paths:
|
336
353
|
- lib
|
337
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
354
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
338
355
|
none: false
|
339
|
-
requirements:
|
340
|
-
- -
|
341
|
-
- !ruby/object:Gem::Version
|
342
|
-
|
343
|
-
|
344
|
-
- 1
|
345
|
-
- 8
|
346
|
-
version: "1.8"
|
347
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
356
|
+
requirements:
|
357
|
+
- - ! '>='
|
358
|
+
- !ruby/object:Gem::Version
|
359
|
+
version: '1.8'
|
360
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
348
361
|
none: false
|
349
|
-
requirements:
|
350
|
-
- -
|
351
|
-
- !ruby/object:Gem::Version
|
352
|
-
|
353
|
-
segments:
|
354
|
-
- 1
|
355
|
-
- 3
|
356
|
-
version: "1.3"
|
362
|
+
requirements:
|
363
|
+
- - ! '>='
|
364
|
+
- !ruby/object:Gem::Version
|
365
|
+
version: '1.3'
|
357
366
|
requirements: []
|
358
|
-
|
359
367
|
rubyforge_project:
|
360
|
-
rubygems_version: 1.
|
368
|
+
rubygems_version: 1.8.21
|
361
369
|
signing_key:
|
362
370
|
specification_version: 3
|
363
371
|
summary: Consume RESTful APIs effortlessly
|
364
|
-
test_files:
|
372
|
+
test_files:
|
365
373
|
- spec/fixtures/bonfire-collection-with-fragments.xml
|
366
374
|
- spec/fixtures/bonfire-compute-existing.xml
|
367
375
|
- spec/fixtures/bonfire-empty-collection.xml
|
@@ -386,3 +394,4 @@ test_files:
|
|
386
394
|
- spec/restfully/resource_spec.rb
|
387
395
|
- spec/restfully/session_spec.rb
|
388
396
|
- spec/spec_helper.rb
|
397
|
+
has_rdoc:
|