rest-in-peace 5.0.0 → 5.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.2.4
1
+ 1.9.3-p547
data/VERSION CHANGED
@@ -1 +1 @@
1
- 5.0.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.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-01-19 00:00:00.000000000 Z
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
- - ".gitignore"
129
- - ".rspec"
130
- - ".ruby-gemset"
131
- - ".ruby-version"
132
- - ".travis.yml"
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: 2.4.5.1
203
+ rubygems_version: 1.8.23.2
190
204
  signing_key:
191
- specification_version: 4
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