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 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