rest-in-peace 5.0.0 → 5.0.1
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/.ruby-version +1 -1
- data/VERSION +1 -1
- data/lib/rest_in_peace/template_sanitizer.rb +1 -1
- data/spec/rest_in_peace/template_sanitizer_spec.rb +24 -0
- metadata +46 -32
- checksums.yaml +0 -7
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
1.9.3-p547
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
5.0.
|
1
|
+
5.0.1
|
@@ -19,7 +19,7 @@ module RESTinPeace
|
|
19
19
|
param = @params.delete(token.to_sym)
|
20
20
|
param ||= @klass.send(token) if @klass.respond_to?(token)
|
21
21
|
raise IncompleteParams, "No parameter for token :#{token} found" unless param
|
22
|
-
@url.sub!(%r{:#{token}}, param.to_s)
|
22
|
+
@url.sub!(%r{:#{token}}, CGI.escape(param.to_s))
|
23
23
|
end
|
24
24
|
@url
|
25
25
|
end
|
@@ -117,6 +117,30 @@ describe RESTinPeace::TemplateSanitizer do
|
|
117
117
|
let(:url_template) { '/a/:a_id/b/:id' }
|
118
118
|
specify { expect { subject }.to raise_error(RESTinPeace::TemplateSanitizer::IncompleteParams) }
|
119
119
|
end
|
120
|
+
|
121
|
+
context 'param which need to be encoded' do
|
122
|
+
let(:params) { { id: 'this param need to be encoded' } }
|
123
|
+
let(:encoded_param) { 'this+param+need+to+be+encoded' }
|
124
|
+
let(:attributes) { { a_id: 2 } }
|
125
|
+
let(:url_template) { '/a/:a_id/b/:id' }
|
126
|
+
specify { expect(subject).to eq("/a/2/b/#{encoded_param}") }
|
127
|
+
end
|
128
|
+
|
129
|
+
context 'param which need to be encoded is null string' do
|
130
|
+
let(:params) { { id: '' } }
|
131
|
+
let(:encoded_param) { '' }
|
132
|
+
let(:attributes) { { a_id: 2 } }
|
133
|
+
let(:url_template) { '/a/:a_id/b/:id' }
|
134
|
+
specify { expect(subject).to eq("/a/2/b/#{encoded_param}") }
|
135
|
+
end
|
136
|
+
|
137
|
+
context 'param which need to be encoded is nil' do
|
138
|
+
let(:params) { { id: nil } }
|
139
|
+
let(:encoded_param) { '' }
|
140
|
+
let(:attributes) { { a_id: 2 } }
|
141
|
+
let(:url_template) { '/a/:a_id/b/:id' }
|
142
|
+
specify { expect { subject }.to raise_exception(RESTinPeace::TemplateSanitizer::IncompleteParams) }
|
143
|
+
end
|
120
144
|
end
|
121
145
|
|
122
146
|
describe '#tokens' do
|
metadata
CHANGED
@@ -1,121 +1,134 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rest-in-peace
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.0.
|
4
|
+
version: 5.0.1
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Raffael Schmid
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2016-
|
12
|
+
date: 2016-03-10 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: activemodel
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
|
-
- -
|
19
|
+
- - ! '>='
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: '3.2'
|
20
|
-
- -
|
22
|
+
- - <
|
21
23
|
- !ruby/object:Gem::Version
|
22
24
|
version: '5'
|
23
25
|
type: :runtime
|
24
26
|
prerelease: false
|
25
27
|
version_requirements: !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
26
29
|
requirements:
|
27
|
-
- -
|
30
|
+
- - ! '>='
|
28
31
|
- !ruby/object:Gem::Version
|
29
32
|
version: '3.2'
|
30
|
-
- -
|
33
|
+
- - <
|
31
34
|
- !ruby/object:Gem::Version
|
32
35
|
version: '5'
|
33
36
|
- !ruby/object:Gem::Dependency
|
34
37
|
name: rake
|
35
38
|
requirement: !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
36
40
|
requirements:
|
37
|
-
- -
|
41
|
+
- - ~>
|
38
42
|
- !ruby/object:Gem::Version
|
39
43
|
version: '10.0'
|
40
44
|
type: :development
|
41
45
|
prerelease: false
|
42
46
|
version_requirements: !ruby/object:Gem::Requirement
|
47
|
+
none: false
|
43
48
|
requirements:
|
44
|
-
- -
|
49
|
+
- - ~>
|
45
50
|
- !ruby/object:Gem::Version
|
46
51
|
version: '10.0'
|
47
52
|
- !ruby/object:Gem::Dependency
|
48
53
|
name: rspec
|
49
54
|
requirement: !ruby/object:Gem::Requirement
|
55
|
+
none: false
|
50
56
|
requirements:
|
51
|
-
- -
|
57
|
+
- - ~>
|
52
58
|
- !ruby/object:Gem::Version
|
53
59
|
version: '3.0'
|
54
60
|
type: :development
|
55
61
|
prerelease: false
|
56
62
|
version_requirements: !ruby/object:Gem::Requirement
|
63
|
+
none: false
|
57
64
|
requirements:
|
58
|
-
- -
|
65
|
+
- - ~>
|
59
66
|
- !ruby/object:Gem::Version
|
60
67
|
version: '3.0'
|
61
68
|
- !ruby/object:Gem::Dependency
|
62
69
|
name: guard
|
63
70
|
requirement: !ruby/object:Gem::Requirement
|
71
|
+
none: false
|
64
72
|
requirements:
|
65
|
-
- -
|
73
|
+
- - ~>
|
66
74
|
- !ruby/object:Gem::Version
|
67
75
|
version: '2.6'
|
68
|
-
- -
|
76
|
+
- - ! '>='
|
69
77
|
- !ruby/object:Gem::Version
|
70
78
|
version: 2.6.1
|
71
79
|
type: :development
|
72
80
|
prerelease: false
|
73
81
|
version_requirements: !ruby/object:Gem::Requirement
|
82
|
+
none: false
|
74
83
|
requirements:
|
75
|
-
- -
|
84
|
+
- - ~>
|
76
85
|
- !ruby/object:Gem::Version
|
77
86
|
version: '2.6'
|
78
|
-
- -
|
87
|
+
- - ! '>='
|
79
88
|
- !ruby/object:Gem::Version
|
80
89
|
version: 2.6.1
|
81
90
|
- !ruby/object:Gem::Dependency
|
82
91
|
name: guard-rspec
|
83
92
|
requirement: !ruby/object:Gem::Requirement
|
93
|
+
none: false
|
84
94
|
requirements:
|
85
|
-
- -
|
95
|
+
- - ~>
|
86
96
|
- !ruby/object:Gem::Version
|
87
97
|
version: '4.2'
|
88
|
-
- -
|
98
|
+
- - ! '>='
|
89
99
|
- !ruby/object:Gem::Version
|
90
100
|
version: 4.2.0
|
91
101
|
type: :development
|
92
102
|
prerelease: false
|
93
103
|
version_requirements: !ruby/object:Gem::Requirement
|
104
|
+
none: false
|
94
105
|
requirements:
|
95
|
-
- -
|
106
|
+
- - ~>
|
96
107
|
- !ruby/object:Gem::Version
|
97
108
|
version: '4.2'
|
98
|
-
- -
|
109
|
+
- - ! '>='
|
99
110
|
- !ruby/object:Gem::Version
|
100
111
|
version: 4.2.0
|
101
112
|
- !ruby/object:Gem::Dependency
|
102
113
|
name: simplecov
|
103
114
|
requirement: !ruby/object:Gem::Requirement
|
115
|
+
none: false
|
104
116
|
requirements:
|
105
|
-
- -
|
117
|
+
- - ~>
|
106
118
|
- !ruby/object:Gem::Version
|
107
119
|
version: '0.8'
|
108
|
-
- -
|
120
|
+
- - ! '>='
|
109
121
|
- !ruby/object:Gem::Version
|
110
122
|
version: 0.8.2
|
111
123
|
type: :development
|
112
124
|
prerelease: false
|
113
125
|
version_requirements: !ruby/object:Gem::Requirement
|
126
|
+
none: false
|
114
127
|
requirements:
|
115
|
-
- -
|
128
|
+
- - ~>
|
116
129
|
- !ruby/object:Gem::Version
|
117
130
|
version: '0.8'
|
118
|
-
- -
|
131
|
+
- - ! '>='
|
119
132
|
- !ruby/object:Gem::Version
|
120
133
|
version: 0.8.2
|
121
134
|
description: Let your api REST in peace.
|
@@ -125,11 +138,11 @@ executables: []
|
|
125
138
|
extensions: []
|
126
139
|
extra_rdoc_files: []
|
127
140
|
files:
|
128
|
-
-
|
129
|
-
-
|
130
|
-
-
|
131
|
-
-
|
132
|
-
-
|
141
|
+
- .gitignore
|
142
|
+
- .rspec
|
143
|
+
- .ruby-gemset
|
144
|
+
- .ruby-version
|
145
|
+
- .travis.yml
|
133
146
|
- Gemfile
|
134
147
|
- Guardfile
|
135
148
|
- LICENSE.txt
|
@@ -169,26 +182,27 @@ files:
|
|
169
182
|
homepage: http://github.com/ninech/
|
170
183
|
licenses:
|
171
184
|
- MIT
|
172
|
-
metadata: {}
|
173
185
|
post_install_message:
|
174
186
|
rdoc_options: []
|
175
187
|
require_paths:
|
176
188
|
- lib
|
177
189
|
required_ruby_version: !ruby/object:Gem::Requirement
|
190
|
+
none: false
|
178
191
|
requirements:
|
179
|
-
- -
|
192
|
+
- - ! '>='
|
180
193
|
- !ruby/object:Gem::Version
|
181
194
|
version: '0'
|
182
195
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
196
|
+
none: false
|
183
197
|
requirements:
|
184
|
-
- -
|
198
|
+
- - ! '>='
|
185
199
|
- !ruby/object:Gem::Version
|
186
200
|
version: '0'
|
187
201
|
requirements: []
|
188
202
|
rubyforge_project:
|
189
|
-
rubygems_version:
|
203
|
+
rubygems_version: 1.8.23.2
|
190
204
|
signing_key:
|
191
|
-
specification_version:
|
205
|
+
specification_version: 3
|
192
206
|
summary: REST in peace
|
193
207
|
test_files:
|
194
208
|
- spec/rest_in_peace/active_model_api_spec.rb
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: b1b164cd072c9e5feed0664b99ce7a65d9308277
|
4
|
-
data.tar.gz: 368a7a06efc5bcc51f731de460d52445193d45d0
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: e43b2dfa0f0c1fb9bbc96186e8034b63ce0a373351731ef08b8755f36ed4c853f3cfc72518b50ea52e1e44401b545baaf9664b06cade4ad0ffe78fc2a94bbe99
|
7
|
-
data.tar.gz: f20641b4c22b64451ebd5e8acc99543888cc210c8ab1686e8c91c73d1edd47172a392635c4e0f52f108f2155da56ff2ac48153616cba0288f4b1a057e742df5b
|