restify 0.1.2.1.b27 → 0.1.2.1.b28
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.
- checksums.yaml +8 -8
- data/lib/restify/client.rb +2 -2
- data/lib/restify/collection.rb +13 -69
- data/lib/restify/link.rb +2 -2
- data/lib/restify/relation.rb +5 -1
- data/lib/restify/relations.rb +4 -4
- data/lib/restify/resource.rb +42 -113
- data/lib/restify/result.rb +34 -0
- data/lib/restify.rb +2 -4
- data/restify.gemspec +1 -1
- data/spec/restify/collection_spec.rb +5 -0
- data/spec/restify/resource_spec.rb +38 -25
- metadata +9 -12
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MjFmODExYzA1MWQyMWQyYjQ3NDM0M2I5NWQ3NDRmYTBkYjMzZGRhZA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MWUxMzRiN2RlZmEwZGVmMTBmNzg0ZWMzODFiMjBlOGUwN2Y5YmNkOA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NmNiMmJkNTQ4Y2Y4MjBiYzllOTBkNjE1NWExZTE0NDhhNTk3ZmRjYjE0NTky
|
10
|
+
N2VlYTkzZjI3NDI5N2I5MDE2M2FlYTNkYWJiYzM2Njc5OTY4YTFjOWJjZDdm
|
11
|
+
YmNhMTg2ODU0ZTg1YWNjZWQ2MTI0OGU3ZWRkNTYwNjg0ZmFhODM=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
Yzc2ZjVhY2Q1NzYyOGIwNmRmYzMwOTMxZDYwOWJlNDYzMjExODc1MTViNjk3
|
14
|
+
MDBiMGI2MWUxNzc1OGU4OWI1ZjJmMzBiMjI4NzdlNzhkMjZmZDYyZWZjZDY4
|
15
|
+
MmUwYTcyM2Y0NzdhNGI5M2VhZTZjNDVlZTJjZjI3YmViZDA0ZDE=
|
data/lib/restify/client.rb
CHANGED
@@ -90,9 +90,9 @@ module Restify
|
|
90
90
|
|
91
91
|
def handle_success(response)
|
92
92
|
if response.decoded_body.is_a?(Array)
|
93
|
-
Collection.
|
93
|
+
Collection.new(self, response.decoded_body, response)
|
94
94
|
else
|
95
|
-
Resource.
|
95
|
+
Resource.new(self, response.decoded_body, response)
|
96
96
|
end
|
97
97
|
end
|
98
98
|
|
data/lib/restify/collection.rb
CHANGED
@@ -1,79 +1,23 @@
|
|
1
1
|
module Restify
|
2
2
|
#
|
3
|
-
class Collection
|
3
|
+
class Collection < Array
|
4
|
+
include Result
|
4
5
|
include Relations
|
5
6
|
|
6
|
-
|
7
|
-
|
8
|
-
#
|
9
|
-
# @param index [Integer] Index.
|
10
|
-
# @return [Object] Data value for given index.
|
11
|
-
#
|
12
|
-
delegate :[], to: :items
|
7
|
+
def initialize(client, data = [], response = nil)
|
8
|
+
super data
|
13
9
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
delegate :size, to: :items
|
21
|
-
|
22
|
-
# @!method first
|
23
|
-
# Return first item of collection.
|
24
|
-
#
|
25
|
-
# @return [Resource, Collection, Object] Return first
|
26
|
-
#
|
27
|
-
delegate :first, to: :items
|
28
|
-
|
29
|
-
# @!method each
|
30
|
-
# Iterate over all items or return enumerator.
|
31
|
-
#
|
32
|
-
# @overload each
|
33
|
-
# Calls block once for each item, passing the item as
|
34
|
-
# parameters.
|
35
|
-
#
|
36
|
-
# @yield [item] Yield for each item.
|
37
|
-
# @yieldparam item [Resource, Collection, Object] Collection item.
|
38
|
-
#
|
39
|
-
# @overload each
|
40
|
-
# Return enumerator for each item.
|
41
|
-
#
|
42
|
-
# @return [Enumerator] Enumerator for each item.
|
43
|
-
#
|
44
|
-
delegate :each, to: :items
|
45
|
-
|
46
|
-
# Return parsed resource attributes as hash.
|
47
|
-
#
|
48
|
-
# @return [Array] Collection items.
|
49
|
-
#
|
50
|
-
def items
|
51
|
-
@items ||= []
|
52
|
-
end
|
53
|
-
|
54
|
-
def initialize(client, relations = {}, items = [])
|
55
|
-
@client = client
|
56
|
-
@relations = HashWithIndifferentAccess.new relations
|
57
|
-
@items = Array items
|
58
|
-
end
|
59
|
-
|
60
|
-
class << self
|
61
|
-
def create(client, data, response)
|
62
|
-
data = data.map do |value|
|
63
|
-
case value
|
64
|
-
when Hash
|
65
|
-
Resource.create client, value, nil
|
66
|
-
when Array
|
67
|
-
create client, value, nil
|
68
|
-
else
|
69
|
-
value
|
70
|
-
end
|
10
|
+
map! do |item|
|
11
|
+
case item
|
12
|
+
when Hash
|
13
|
+
Resource.new client, item
|
14
|
+
else
|
15
|
+
item
|
71
16
|
end
|
72
|
-
|
73
|
-
relations = response ? response.relations(client) : nil
|
74
|
-
|
75
|
-
new client, relations, data
|
76
17
|
end
|
18
|
+
|
19
|
+
@client = client
|
20
|
+
@relations = response ? response.relations(client) : nil
|
77
21
|
end
|
78
22
|
end
|
79
23
|
end
|
data/lib/restify/link.rb
CHANGED
@@ -13,13 +13,13 @@ module Restify
|
|
13
13
|
|
14
14
|
# Link metadata like "rel" if specified.
|
15
15
|
#
|
16
|
-
# @return [
|
16
|
+
# @return [Hash<String, String>] Metadata.
|
17
17
|
#
|
18
18
|
attr_reader :metadata
|
19
19
|
|
20
20
|
def initialize(uri, metadata = {})
|
21
21
|
@uri = uri
|
22
|
-
@metadata =
|
22
|
+
@metadata = metadata
|
23
23
|
end
|
24
24
|
|
25
25
|
class << self
|
data/lib/restify/relation.rb
CHANGED
@@ -30,13 +30,17 @@ module Restify
|
|
30
30
|
request :delete, params.merge(data: data)
|
31
31
|
end
|
32
32
|
|
33
|
+
def ==(other)
|
34
|
+
super || (other.is_a?(String) && @template.pattern == other)
|
35
|
+
end
|
36
|
+
|
33
37
|
private
|
34
38
|
|
35
39
|
attr_reader :client, :template
|
36
40
|
|
37
41
|
def request(method, opts = {})
|
38
42
|
keys = template.variables - Client::RESERVED_KEYS
|
39
|
-
params = opts.
|
43
|
+
params = Hash[keys.map{|key| [key, opts.delete(:key)]}]
|
40
44
|
uri = template.expand(params)
|
41
45
|
|
42
46
|
client.request method, uri, opts
|
data/lib/restify/relations.rb
CHANGED
@@ -8,7 +8,7 @@ module Restify
|
|
8
8
|
# @return [Boolean] True if resource has relation, false otherwise.
|
9
9
|
#
|
10
10
|
def rel?(name)
|
11
|
-
relations.key? name
|
11
|
+
relations.key? name.to_s
|
12
12
|
end
|
13
13
|
alias_method :relation?, :rel?
|
14
14
|
alias_method :has_rel?, :rel?
|
@@ -20,16 +20,16 @@ module Restify
|
|
20
20
|
# @return [Relation] Relation.
|
21
21
|
#
|
22
22
|
def rel(name)
|
23
|
-
relations.fetch name
|
23
|
+
relations.fetch name.to_s
|
24
24
|
end
|
25
25
|
alias_method :relation, :rel
|
26
26
|
|
27
27
|
# Hash of all known relations.
|
28
28
|
#
|
29
|
-
# @return [
|
29
|
+
# @return [Hash<String, Relation>] Relations.
|
30
30
|
#
|
31
31
|
def relations
|
32
|
-
@relations ||=
|
32
|
+
@relations ||= Hash.new
|
33
33
|
end
|
34
34
|
end
|
35
35
|
end
|
data/lib/restify/resource.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
module Restify
|
2
2
|
#
|
3
|
-
class Resource
|
3
|
+
class Resource < Hashie::Mash
|
4
|
+
include Result
|
4
5
|
include Relations
|
5
6
|
|
6
7
|
# Return content Media-Type.
|
@@ -9,130 +10,58 @@ module Restify
|
|
9
10
|
#
|
10
11
|
attr_reader :media_type
|
11
12
|
|
12
|
-
# @!method [](key)
|
13
|
-
# Retrieve value for given key.
|
14
13
|
#
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
delegate :[], to: :attributes
|
14
|
+
def initialize(client, data = {}, response = nil)
|
15
|
+
@client = client
|
16
|
+
@response = response
|
19
17
|
|
20
|
-
|
21
|
-
# Set value for given key.
|
22
|
-
#
|
23
|
-
# @param key [String, Symbol] Data key.
|
24
|
-
# @param key [String, Fixnum, Object] Data value.
|
25
|
-
#
|
26
|
-
delegate :[]=, to: :attributes
|
18
|
+
relations.merge! @response.relations(client) if @response
|
27
19
|
|
28
|
-
|
29
|
-
|
30
|
-
#
|
31
|
-
# @param name [String, Symbol] Key name.
|
32
|
-
# @return [Boolean] True if resource contains key, false otherwise.
|
33
|
-
#
|
34
|
-
delegate :key?, :has_key?, to: :attributes
|
20
|
+
data.each_pair do |key, value|
|
21
|
+
self[key.to_s] = convert_value(value)
|
35
22
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
# @yieldparam key [String] Attribute key.
|
45
|
-
# @yieldparam value [Object] Attribute value.
|
46
|
-
#
|
47
|
-
# @overload each
|
48
|
-
# Return enumerator for each key-value pair.
|
49
|
-
#
|
50
|
-
# @return [Enumerator] Enumerator for each key-value pair.
|
51
|
-
#
|
52
|
-
delegate :each, to: :attributes
|
23
|
+
name = case key.to_s.downcase
|
24
|
+
when /\A(\w+)_url\z/
|
25
|
+
$1
|
26
|
+
when 'url'
|
27
|
+
'self'
|
28
|
+
else
|
29
|
+
next
|
30
|
+
end
|
53
31
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
def attributes
|
59
|
-
@attributes ||= HashWithIndifferentAccess.new
|
32
|
+
unless relations.key?(name) || value.nil? || value.to_s.empty?
|
33
|
+
relations[name] = Relation.new(client, value.to_s)
|
34
|
+
end
|
35
|
+
end
|
60
36
|
end
|
61
37
|
|
62
|
-
#
|
63
|
-
#
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
#
|
73
|
-
# @return [Fixnum] Response status code.
|
74
|
-
# @see Response#code
|
75
|
-
#
|
76
|
-
delegate :code, to: :@response, allow_nil: true
|
77
|
-
|
78
|
-
# Follow the Location header from the response of
|
79
|
-
# this resource if available.
|
80
|
-
#
|
81
|
-
# @return [Obligation<Resource>] Followed resource.
|
82
|
-
#
|
83
|
-
def follow
|
84
|
-
if @response && @response.headers['LOCATION']
|
85
|
-
@client.request :get, @response.headers['LOCATION']
|
86
|
-
else
|
87
|
-
raise RuntimeError.new 'Nothing to follow.'
|
38
|
+
# Compare with other {Resource}s or {Hash}s.
|
39
|
+
#
|
40
|
+
def ==(other)
|
41
|
+
case other
|
42
|
+
when Resource
|
43
|
+
@data == other.data && relations == other.relations
|
44
|
+
when Hash
|
45
|
+
@data == other
|
46
|
+
else
|
47
|
+
super
|
88
48
|
end
|
89
49
|
end
|
90
50
|
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
@attributes = HashWithIndifferentAccess.new attributes
|
51
|
+
# @private
|
52
|
+
#
|
53
|
+
def convert_key(key)
|
54
|
+
key.to_s
|
96
55
|
end
|
97
56
|
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
hash = {}
|
107
|
-
if data
|
108
|
-
data.each do |key, value|
|
109
|
-
hash[key] = case value
|
110
|
-
when Array
|
111
|
-
Collection.create(client, value, nil)
|
112
|
-
when Hash
|
113
|
-
Resource.create(client, value, nil)
|
114
|
-
else
|
115
|
-
value
|
116
|
-
end
|
117
|
-
end
|
118
|
-
|
119
|
-
data.keys.each do |key|
|
120
|
-
name = nil
|
121
|
-
if (m = /\A(\w+)_url\z/.match(key))
|
122
|
-
name = m[1]
|
123
|
-
elsif key == 'url'
|
124
|
-
name = :self
|
125
|
-
else
|
126
|
-
next
|
127
|
-
end
|
128
|
-
|
129
|
-
unless relations.key?(name) || data[key].to_s.blank?
|
130
|
-
relations[name] = Relation.new(client, data[key].to_s)
|
131
|
-
end
|
132
|
-
end
|
133
|
-
end
|
134
|
-
|
135
|
-
new client, relations, hash, response
|
57
|
+
# @private
|
58
|
+
#
|
59
|
+
def convert_value(value)
|
60
|
+
case value
|
61
|
+
when Hash
|
62
|
+
self.new client, value
|
63
|
+
else
|
64
|
+
value
|
136
65
|
end
|
137
66
|
end
|
138
67
|
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Restify
|
2
|
+
module Result
|
3
|
+
# Return response status if available.
|
4
|
+
#
|
5
|
+
# @return [Symbol] Response status.
|
6
|
+
# @see Response#status
|
7
|
+
#
|
8
|
+
def status
|
9
|
+
@response ? @response.status : nil
|
10
|
+
end
|
11
|
+
|
12
|
+
# Return response status code if available.
|
13
|
+
#
|
14
|
+
# @return [Fixnum] Response status code.
|
15
|
+
# @see Response#code
|
16
|
+
#
|
17
|
+
def code
|
18
|
+
@response ? @response.code : nil
|
19
|
+
end
|
20
|
+
|
21
|
+
# Follow the Location header from the response of
|
22
|
+
# this resource if available.
|
23
|
+
#
|
24
|
+
# @return [Obligation<Resource>] Followed resource.
|
25
|
+
#
|
26
|
+
def follow
|
27
|
+
if @response && @response.headers['LOCATION']
|
28
|
+
@client.request :get, @response.headers['LOCATION']
|
29
|
+
else
|
30
|
+
raise RuntimeError.new 'Nothing to follow.'
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
data/lib/restify.rb
CHANGED
@@ -1,17 +1,15 @@
|
|
1
1
|
require 'restify/version'
|
2
2
|
require 'addressable/uri'
|
3
3
|
require 'addressable/template'
|
4
|
-
require 'active_support'
|
5
|
-
require 'active_support/core_ext'
|
6
|
-
require 'active_support/hash_with_indifferent_access'
|
7
|
-
require 'active_support/core_ext/module/delegation'
|
8
4
|
require 'multi_json'
|
9
5
|
require 'obligation'
|
6
|
+
require 'hashie'
|
10
7
|
|
11
8
|
#
|
12
9
|
module Restify
|
13
10
|
require 'restify/adapter'
|
14
11
|
require 'restify/client'
|
12
|
+
require 'restify/result'
|
15
13
|
require 'restify/relations'
|
16
14
|
require 'restify/collection'
|
17
15
|
require 'restify/link'
|
data/restify.gemspec
CHANGED
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.add_runtime_dependency 'obligation', '~> 0.1'
|
22
22
|
spec.add_runtime_dependency 'addressable', '~> 2.3'
|
23
23
|
spec.add_runtime_dependency 'em-http-request', '~> 1.1'
|
24
|
-
spec.add_runtime_dependency '
|
24
|
+
spec.add_runtime_dependency 'hashie', '~> 3.3'
|
25
25
|
spec.add_runtime_dependency 'multi_json'
|
26
26
|
spec.add_runtime_dependency 'rack'
|
27
27
|
|
@@ -2,14 +2,15 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Restify::Resource do
|
4
4
|
let(:client) { double 'client' }
|
5
|
-
let(:
|
6
|
-
let(:
|
7
|
-
let(:res) { described_class.new(client, relations, attributes) }
|
5
|
+
let(:data) { {} }
|
6
|
+
let(:res) { described_class.new(client, data) }
|
8
7
|
|
9
8
|
describe '#rel?' do
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
let(:data) do
|
10
|
+
{
|
11
|
+
'users_url' => 'http://example.org/users',
|
12
|
+
'projects_url' => 'http://example.org/projects',
|
13
|
+
}
|
13
14
|
end
|
14
15
|
|
15
16
|
it 'should match relations' do
|
@@ -34,30 +35,30 @@ describe Restify::Resource do
|
|
34
35
|
end
|
35
36
|
|
36
37
|
describe '#rel' do
|
37
|
-
let(:
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
38
|
+
let(:data) do
|
39
|
+
{
|
40
|
+
'users_url' => 'http://example.org/users',
|
41
|
+
'projects_url' => 'http://example.org/projects',
|
42
|
+
}
|
42
43
|
end
|
43
44
|
|
44
45
|
it 'should return relation' do
|
45
|
-
expect(res.rel(:users)).to eq users
|
46
|
-
expect(res.rel('users')).to eq users
|
47
|
-
expect(res.rel(:projects)).to eq projects
|
48
|
-
expect(res.rel('projects')).to eq projects
|
46
|
+
expect(res.rel(:users)).to eq 'http://example.org/users'
|
47
|
+
expect(res.rel('users')).to eq 'http://example.org/users'
|
48
|
+
expect(res.rel(:projects)).to eq 'http://example.org/projects'
|
49
|
+
expect(res.rel('projects')).to eq 'http://example.org/projects'
|
49
50
|
expect { res.rel(:fuu) }.to raise_error KeyError
|
50
51
|
|
51
|
-
expect(res.relation(:users)).to eq users
|
52
|
-
expect(res.relation('users')).to eq users
|
53
|
-
expect(res.relation(:projects)).to eq projects
|
54
|
-
expect(res.relation('projects')).to eq projects
|
52
|
+
expect(res.relation(:users)).to eq 'http://example.org/users'
|
53
|
+
expect(res.relation('users')).to eq 'http://example.org/users'
|
54
|
+
expect(res.relation(:projects)).to eq 'http://example.org/projects'
|
55
|
+
expect(res.relation('projects')).to eq 'http://example.org/projects'
|
55
56
|
expect { res.relation(:fuu) }.to raise_error KeyError
|
56
57
|
end
|
57
58
|
end
|
58
59
|
|
59
60
|
describe '#key?' do
|
60
|
-
let(:
|
61
|
+
let(:data) { {a: 0, 'b' => 1, 0 => 2} }
|
61
62
|
|
62
63
|
it 'should test for key inclusion' do
|
63
64
|
expect(res.key?(:a)).to eq true
|
@@ -81,7 +82,7 @@ describe Restify::Resource do
|
|
81
82
|
end
|
82
83
|
|
83
84
|
describe '#each' do
|
84
|
-
let(:
|
85
|
+
let(:data) { {a: 0, b: 1} }
|
85
86
|
|
86
87
|
it 'should yield' do
|
87
88
|
expect{|cb| res.each(&cb) }.to yield_control.twice
|
@@ -95,18 +96,30 @@ describe Restify::Resource do
|
|
95
96
|
end
|
96
97
|
|
97
98
|
describe '#[]' do
|
98
|
-
let(:
|
99
|
+
let(:data) { {a: 0, b: 1} }
|
99
100
|
|
100
|
-
it 'should return
|
101
|
+
it 'should return data' do
|
101
102
|
expect(res[:a]).to eq 0
|
102
103
|
expect(res[:b]).to eq 1
|
103
104
|
end
|
104
105
|
end
|
105
106
|
|
107
|
+
describe '<getter>' do
|
108
|
+
let(:data) { {a: 0, b: 1} }
|
109
|
+
|
110
|
+
it 'should return data' do
|
111
|
+
expect(res).to respond_to :a
|
112
|
+
expect(res).to respond_to :b
|
113
|
+
|
114
|
+
expect(res.a).to eq 0
|
115
|
+
expect(res.b).to eq 1
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
106
119
|
describe '#[]=' do
|
107
|
-
let(:
|
120
|
+
let(:data) { {a: 0, b: 1} }
|
108
121
|
|
109
|
-
it 'should return
|
122
|
+
it 'should return data' do
|
110
123
|
res[:a] = 5
|
111
124
|
res[:c] = 15
|
112
125
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: restify
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.2.1.
|
4
|
+
version: 0.1.2.1.b28
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jan Graichen
|
@@ -53,25 +53,19 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.1'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: hashie
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '3.2'
|
62
|
-
- - <
|
59
|
+
- - ~>
|
63
60
|
- !ruby/object:Gem::Version
|
64
|
-
version: '
|
61
|
+
version: '3.3'
|
65
62
|
type: :runtime
|
66
63
|
prerelease: false
|
67
64
|
version_requirements: !ruby/object:Gem::Requirement
|
68
65
|
requirements:
|
69
|
-
- -
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
version: '3.2'
|
72
|
-
- - <
|
66
|
+
- - ~>
|
73
67
|
- !ruby/object:Gem::Version
|
74
|
-
version: '
|
68
|
+
version: '3.3'
|
75
69
|
- !ruby/object:Gem::Dependency
|
76
70
|
name: multi_json
|
77
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -135,8 +129,10 @@ files:
|
|
135
129
|
- lib/restify/request.rb
|
136
130
|
- lib/restify/resource.rb
|
137
131
|
- lib/restify/response.rb
|
132
|
+
- lib/restify/result.rb
|
138
133
|
- lib/restify/version.rb
|
139
134
|
- restify.gemspec
|
135
|
+
- spec/restify/collection_spec.rb
|
140
136
|
- spec/restify/link_spec.rb
|
141
137
|
- spec/restify/resource_spec.rb
|
142
138
|
- spec/restify_spec.rb
|
@@ -166,6 +162,7 @@ signing_key:
|
|
166
162
|
specification_version: 4
|
167
163
|
summary: An experimental hypermedia REST client.
|
168
164
|
test_files:
|
165
|
+
- spec/restify/collection_spec.rb
|
169
166
|
- spec/restify/link_spec.rb
|
170
167
|
- spec/restify/resource_spec.rb
|
171
168
|
- spec/restify_spec.rb
|