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/README.md CHANGED
@@ -141,5 +141,8 @@ See the `examples` directory for examples.
141
141
 
142
142
  ## Copyright
143
143
 
144
- Copyright (c) 2009-2011 [Cyril Rohr](http://crohr.me), INRIA Rennes - Bretagne Atlantique.
145
- See LICENSE for details.
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
@@ -1,3 +1,3 @@
1
1
  module Restfully
2
- VERSION = "1.0.5"
2
+ VERSION = "1.0.6"
3
3
  end
@@ -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 == "k1=value1&k2[]=a&k2[]=b&k2[]=c"
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
- serialized.split("\n").sort.should == "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<compute xmlns=\"http://api.bonfire-project.eu/doc/schemas/occi\">\n <name>Compute name</name>\n <startup href=\"file:///path/to/startup-script/sh\"/>\n <instance_type>small</instance_type>\n <description>Compute description</description>\n <nic id=\"0\">\n <device>eth0</device>\n <mac>AA:AA:AA:AA</mac>\n <network href=\"/locations/fr-inria/networks/1\"/>\n <ip>123.123.123.123</ip>\n </nic>\n <nic id=\"1\">\n <device>eth1</device>\n <mac>BB:BB:BB:BB</mac>\n <network href=\"/locations/fr-inria/networks/2\"/>\n <ip>123.123.124.2</ip>\n </nic>\n <context>\n <bonfire_credentials>crohr:p4ssw0rd</bonfire_credentials>\n <monitoring_ip>123.123.123.2</monitoring_ip>\n </context>\n <link id=\"0\" href=\"/locations/fr-inria\" rel=\"location\" type=\"application/vnd.bonfire+xml\"/>\n <link id=\"1\" href=\"/locations/uk-epcc/computes/1\" rel=\"self\"/>\n <disk id=\"0\">\n <type>OS</type>\n <storage href=\"/locations/fr-inria/storages/1\"/>\n <target>sda</target>\n </disk>\n <disk id=\"1\">\n <type>CDROM</type>\n <storage href=\"/locations/fr-inria/storages/2\"/>\n <target>sdc</target>\n </disk>\n <state>ACTIVE</state>\n</compute>\n".split("\n").sort
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 == @serialized
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
- hash: 29
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
- date: 2012-03-19 00:00:00 +01:00
19
- default_executable:
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
- prerelease: false
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
- hash: 5
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
- requirement: &id002 !ruby/object:Gem::Requirement
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
- hash: 3
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
- requirement: &id003 !ruby/object:Gem::Requirement
55
- none: false
56
- requirements:
57
- - - ">="
58
- - !ruby/object:Gem::Version
59
- hash: 3
60
- segments:
61
- - 0
62
- version: "0"
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
- requirement: &id004 !ruby/object:Gem::Requirement
69
- none: false
70
- requirements:
71
- - - ">="
72
- - !ruby/object:Gem::Version
73
- hash: 3
74
- segments:
75
- - 0
76
- version: "0"
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
- requirement: &id005 !ruby/object:Gem::Requirement
83
- none: false
84
- requirements:
85
- - - ">="
86
- - !ruby/object:Gem::Version
87
- hash: 3
88
- segments:
89
- - 0
90
- version: "0"
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
- requirement: &id006 !ruby/object:Gem::Requirement
97
- none: false
98
- requirements:
99
- - - ">="
100
- - !ruby/object:Gem::Version
101
- hash: 3
102
- segments:
103
- - 0
104
- version: "0"
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
- requirement: &id007 !ruby/object:Gem::Requirement
111
- none: false
112
- requirements:
113
- - - "="
114
- - !ruby/object:Gem::Version
115
- hash: 5
116
- segments:
117
- - 0
118
- - 6
119
- - 1
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
- requirement: &id008 !ruby/object:Gem::Requirement
127
- none: false
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- hash: 3
132
- segments:
133
- - 0
134
- version: "0"
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
- requirement: &id009 !ruby/object:Gem::Requirement
141
- none: false
142
- requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- hash: 3
146
- segments:
147
- - 0
148
- version: "0"
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
- requirement: &id010 !ruby/object:Gem::Requirement
155
- none: false
156
- requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- hash: 3
160
- segments:
161
- - 0
162
- version: "0"
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
- requirement: &id011 !ruby/object:Gem::Requirement
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
- requirement: &id012 !ruby/object:Gem::Requirement
185
- none: false
186
- requirements:
187
- - - ">="
188
- - !ruby/object:Gem::Version
189
- hash: 3
190
- segments:
191
- - 0
192
- version: "0"
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
- requirement: &id013 !ruby/object:Gem::Requirement
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
- hash: 27
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
- requirement: &id014 !ruby/object:Gem::Requirement
216
+ version_requirements: !ruby/object:Gem::Requirement
214
217
  none: false
215
- requirements:
218
+ requirements:
216
219
  - - ~>
217
- - !ruby/object:Gem::Version
218
- hash: 7
219
- segments:
220
- - 2
221
- version: "2"
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
- requirement: &id015 !ruby/object:Gem::Requirement
228
- none: false
229
- requirements:
230
- - - ">="
231
- - !ruby/object:Gem::Version
232
- hash: 3
233
- segments:
234
- - 0
235
- version: "0"
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
- requirement: &id016 !ruby/object:Gem::Requirement
242
- none: false
243
- requirements:
244
- - - ">="
245
- - !ruby/object:Gem::Version
246
- hash: 3
247
- segments:
248
- - 0
249
- version: "0"
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
- requirement: &id017 !ruby/object:Gem::Requirement
256
- none: false
257
- requirements:
258
- - - ">="
259
- - !ruby/object:Gem::Version
260
- hash: 3
261
- segments:
262
- - 0
263
- version: "0"
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
- version_requirements: *id017
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
- hash: 31
343
- segments:
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
- hash: 9
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.6.2
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: