restfully 1.0.5 → 1.0.6
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/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:
|