grape 0.2.1.1 → 0.2.2
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.
Potentially problematic release.
This version of grape might be problematic. Click here for more details.
- data/.gitignore +1 -0
- data/CHANGELOG.markdown +23 -2
- data/Gemfile +2 -0
- data/README.markdown +402 -227
- data/grape.gemspec +5 -2
- data/lib/grape.rb +6 -0
- data/lib/grape/api.rb +59 -2
- data/lib/grape/endpoint.rb +49 -9
- data/lib/grape/entity.rb +75 -8
- data/lib/grape/exceptions/base.rb +17 -0
- data/lib/grape/exceptions/validation_error.rb +10 -0
- data/lib/grape/middleware/base.rb +28 -19
- data/lib/grape/middleware/error.rb +11 -3
- data/lib/grape/middleware/formatter.rb +11 -18
- data/lib/grape/middleware/versioner/header.rb +76 -17
- data/lib/grape/util/deep_merge.rb +23 -0
- data/lib/grape/util/hash_stack.rb +12 -3
- data/lib/grape/validations.rb +202 -0
- data/lib/grape/validations/coerce.rb +61 -0
- data/lib/grape/validations/presence.rb +11 -0
- data/lib/grape/validations/regexp.rb +13 -0
- data/lib/grape/version.rb +1 -1
- data/spec/grape/api_spec.rb +281 -123
- data/spec/grape/endpoint_spec.rb +69 -4
- data/spec/grape/entity_spec.rb +204 -16
- data/spec/grape/middleware/exception_spec.rb +21 -0
- data/spec/grape/middleware/formatter_spec.rb +19 -0
- data/spec/grape/middleware/versioner/header_spec.rb +159 -88
- data/spec/grape/validations/coerce_spec.rb +129 -0
- data/spec/grape/validations/presence_spec.rb +138 -0
- data/spec/grape/validations/regexp_spec.rb +33 -0
- data/spec/grape/validations_spec.rb +185 -0
- metadata +65 -74
- data/spec/grape_spec.rb +0 -1
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grape
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2012-10-12 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rack
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirement: &70147662832300 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,15 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- - ! '>='
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '0'
|
24
|
+
version_requirements: *70147662832300
|
30
25
|
- !ruby/object:Gem::Dependency
|
31
26
|
name: rack-mount
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
27
|
+
requirement: &70147662831580 !ruby/object:Gem::Requirement
|
33
28
|
none: false
|
34
29
|
requirements:
|
35
30
|
- - ! '>='
|
@@ -37,15 +32,21 @@ dependencies:
|
|
37
32
|
version: '0'
|
38
33
|
type: :runtime
|
39
34
|
prerelease: false
|
40
|
-
version_requirements:
|
35
|
+
version_requirements: *70147662831580
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: rack-accept
|
38
|
+
requirement: &70147662830940 !ruby/object:Gem::Requirement
|
41
39
|
none: false
|
42
40
|
requirements:
|
43
41
|
- - ! '>='
|
44
42
|
- !ruby/object:Gem::Version
|
45
43
|
version: '0'
|
44
|
+
type: :runtime
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *70147662830940
|
46
47
|
- !ruby/object:Gem::Dependency
|
47
|
-
name:
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
48
|
+
name: activesupport
|
49
|
+
requirement: &70147662830420 !ruby/object:Gem::Requirement
|
49
50
|
none: false
|
50
51
|
requirements:
|
51
52
|
- - ! '>='
|
@@ -53,31 +54,32 @@ dependencies:
|
|
53
54
|
version: '0'
|
54
55
|
type: :runtime
|
55
56
|
prerelease: false
|
56
|
-
version_requirements:
|
57
|
+
version_requirements: *70147662830420
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: multi_json
|
60
|
+
requirement: &70147662829780 !ruby/object:Gem::Requirement
|
57
61
|
none: false
|
58
62
|
requirements:
|
59
63
|
- - ! '>='
|
60
64
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
65
|
+
version: 1.3.2
|
66
|
+
type: :runtime
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *70147662829780
|
62
69
|
- !ruby/object:Gem::Dependency
|
63
70
|
name: multi_xml
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
71
|
+
requirement: &70147662829260 !ruby/object:Gem::Requirement
|
65
72
|
none: false
|
66
73
|
requirements:
|
67
74
|
- - ! '>='
|
68
75
|
- !ruby/object:Gem::Version
|
69
|
-
version: 0
|
76
|
+
version: '0'
|
70
77
|
type: :runtime
|
71
78
|
prerelease: false
|
72
|
-
version_requirements:
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - ! '>='
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: 0.5.2
|
79
|
+
version_requirements: *70147662829260
|
78
80
|
- !ruby/object:Gem::Dependency
|
79
81
|
name: hashie
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
82
|
+
requirement: &70147662828240 !ruby/object:Gem::Requirement
|
81
83
|
none: false
|
82
84
|
requirements:
|
83
85
|
- - ~>
|
@@ -85,31 +87,32 @@ dependencies:
|
|
85
87
|
version: '1.2'
|
86
88
|
type: :runtime
|
87
89
|
prerelease: false
|
88
|
-
version_requirements:
|
89
|
-
none: false
|
90
|
-
requirements:
|
91
|
-
- - ~>
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: '1.2'
|
90
|
+
version_requirements: *70147662828240
|
94
91
|
- !ruby/object:Gem::Dependency
|
95
|
-
name:
|
96
|
-
requirement: !ruby/object:Gem::Requirement
|
92
|
+
name: virtus
|
93
|
+
requirement: &70147662827780 !ruby/object:Gem::Requirement
|
97
94
|
none: false
|
98
95
|
requirements:
|
99
96
|
- - ! '>='
|
100
97
|
- !ruby/object:Gem::Version
|
101
98
|
version: '0'
|
102
|
-
type: :
|
99
|
+
type: :runtime
|
103
100
|
prerelease: false
|
104
|
-
version_requirements:
|
101
|
+
version_requirements: *70147662827780
|
102
|
+
- !ruby/object:Gem::Dependency
|
103
|
+
name: rake
|
104
|
+
requirement: &70147662827220 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ! '>='
|
108
108
|
- !ruby/object:Gem::Version
|
109
109
|
version: '0'
|
110
|
+
type: :development
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: *70147662827220
|
110
113
|
- !ruby/object:Gem::Dependency
|
111
114
|
name: maruku
|
112
|
-
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirement: &70147662826700 !ruby/object:Gem::Requirement
|
113
116
|
none: false
|
114
117
|
requirements:
|
115
118
|
- - ! '>='
|
@@ -117,15 +120,10 @@ dependencies:
|
|
117
120
|
version: '0'
|
118
121
|
type: :development
|
119
122
|
prerelease: false
|
120
|
-
version_requirements:
|
121
|
-
none: false
|
122
|
-
requirements:
|
123
|
-
- - ! '>='
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: '0'
|
123
|
+
version_requirements: *70147662826700
|
126
124
|
- !ruby/object:Gem::Dependency
|
127
125
|
name: yard
|
128
|
-
requirement: !ruby/object:Gem::Requirement
|
126
|
+
requirement: &70147662826080 !ruby/object:Gem::Requirement
|
129
127
|
none: false
|
130
128
|
requirements:
|
131
129
|
- - ! '>='
|
@@ -133,15 +131,10 @@ dependencies:
|
|
133
131
|
version: '0'
|
134
132
|
type: :development
|
135
133
|
prerelease: false
|
136
|
-
version_requirements:
|
137
|
-
none: false
|
138
|
-
requirements:
|
139
|
-
- - ! '>='
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
version: '0'
|
134
|
+
version_requirements: *70147662826080
|
142
135
|
- !ruby/object:Gem::Dependency
|
143
136
|
name: rack-test
|
144
|
-
requirement: !ruby/object:Gem::Requirement
|
137
|
+
requirement: &70147662825560 !ruby/object:Gem::Requirement
|
145
138
|
none: false
|
146
139
|
requirements:
|
147
140
|
- - ! '>='
|
@@ -149,15 +142,10 @@ dependencies:
|
|
149
142
|
version: '0'
|
150
143
|
type: :development
|
151
144
|
prerelease: false
|
152
|
-
version_requirements:
|
153
|
-
none: false
|
154
|
-
requirements:
|
155
|
-
- - ! '>='
|
156
|
-
- !ruby/object:Gem::Version
|
157
|
-
version: '0'
|
145
|
+
version_requirements: *70147662825560
|
158
146
|
- !ruby/object:Gem::Dependency
|
159
147
|
name: rspec
|
160
|
-
requirement: !ruby/object:Gem::Requirement
|
148
|
+
requirement: &70147662806300 !ruby/object:Gem::Requirement
|
161
149
|
none: false
|
162
150
|
requirements:
|
163
151
|
- - ~>
|
@@ -165,15 +153,10 @@ dependencies:
|
|
165
153
|
version: '2.9'
|
166
154
|
type: :development
|
167
155
|
prerelease: false
|
168
|
-
version_requirements:
|
169
|
-
none: false
|
170
|
-
requirements:
|
171
|
-
- - ~>
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: '2.9'
|
156
|
+
version_requirements: *70147662806300
|
174
157
|
- !ruby/object:Gem::Dependency
|
175
158
|
name: bundler
|
176
|
-
requirement: !ruby/object:Gem::Requirement
|
159
|
+
requirement: &70147662805760 !ruby/object:Gem::Requirement
|
177
160
|
none: false
|
178
161
|
requirements:
|
179
162
|
- - ! '>='
|
@@ -181,12 +164,7 @@ dependencies:
|
|
181
164
|
version: '0'
|
182
165
|
type: :development
|
183
166
|
prerelease: false
|
184
|
-
version_requirements:
|
185
|
-
none: false
|
186
|
-
requirements:
|
187
|
-
- - ! '>='
|
188
|
-
- !ruby/object:Gem::Version
|
189
|
-
version: '0'
|
167
|
+
version_requirements: *70147662805760
|
190
168
|
description: A Ruby framework for rapid API development with great conventions.
|
191
169
|
email:
|
192
170
|
- michael@intridea.com
|
@@ -210,6 +188,8 @@ files:
|
|
210
188
|
- lib/grape/cookies.rb
|
211
189
|
- lib/grape/endpoint.rb
|
212
190
|
- lib/grape/entity.rb
|
191
|
+
- lib/grape/exceptions/base.rb
|
192
|
+
- lib/grape/exceptions/validation_error.rb
|
213
193
|
- lib/grape/middleware/auth/basic.rb
|
214
194
|
- lib/grape/middleware/auth/digest.rb
|
215
195
|
- lib/grape/middleware/auth/oauth2.rb
|
@@ -223,7 +203,12 @@ files:
|
|
223
203
|
- lib/grape/middleware/versioner/param.rb
|
224
204
|
- lib/grape/middleware/versioner/path.rb
|
225
205
|
- lib/grape/route.rb
|
206
|
+
- lib/grape/util/deep_merge.rb
|
226
207
|
- lib/grape/util/hash_stack.rb
|
208
|
+
- lib/grape/validations.rb
|
209
|
+
- lib/grape/validations/coerce.rb
|
210
|
+
- lib/grape/validations/presence.rb
|
211
|
+
- lib/grape/validations/regexp.rb
|
227
212
|
- lib/grape/version.rb
|
228
213
|
- spec/grape/api_spec.rb
|
229
214
|
- spec/grape/endpoint_spec.rb
|
@@ -241,7 +226,10 @@ files:
|
|
241
226
|
- spec/grape/middleware/versioner/path_spec.rb
|
242
227
|
- spec/grape/middleware/versioner_spec.rb
|
243
228
|
- spec/grape/util/hash_stack_spec.rb
|
244
|
-
- spec/
|
229
|
+
- spec/grape/validations/coerce_spec.rb
|
230
|
+
- spec/grape/validations/presence_spec.rb
|
231
|
+
- spec/grape/validations/regexp_spec.rb
|
232
|
+
- spec/grape/validations_spec.rb
|
245
233
|
- spec/shared/versioning_examples.rb
|
246
234
|
- spec/spec_helper.rb
|
247
235
|
- spec/support/basic_auth_encode_helpers.rb
|
@@ -261,7 +249,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
261
249
|
version: '0'
|
262
250
|
segments:
|
263
251
|
- 0
|
264
|
-
hash:
|
252
|
+
hash: 2126824165683658204
|
265
253
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
266
254
|
none: false
|
267
255
|
requirements:
|
@@ -270,10 +258,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
270
258
|
version: '0'
|
271
259
|
segments:
|
272
260
|
- 0
|
273
|
-
hash:
|
261
|
+
hash: 2126824165683658204
|
274
262
|
requirements: []
|
275
263
|
rubyforge_project: grape
|
276
|
-
rubygems_version: 1.8.
|
264
|
+
rubygems_version: 1.8.10
|
277
265
|
signing_key:
|
278
266
|
specification_version: 3
|
279
267
|
summary: A simple Ruby framework for building REST-like APIs.
|
@@ -294,7 +282,10 @@ test_files:
|
|
294
282
|
- spec/grape/middleware/versioner/path_spec.rb
|
295
283
|
- spec/grape/middleware/versioner_spec.rb
|
296
284
|
- spec/grape/util/hash_stack_spec.rb
|
297
|
-
- spec/
|
285
|
+
- spec/grape/validations/coerce_spec.rb
|
286
|
+
- spec/grape/validations/presence_spec.rb
|
287
|
+
- spec/grape/validations/regexp_spec.rb
|
288
|
+
- spec/grape/validations_spec.rb
|
298
289
|
- spec/shared/versioning_examples.rb
|
299
290
|
- spec/spec_helper.rb
|
300
291
|
- spec/support/basic_auth_encode_helpers.rb
|
data/spec/grape_spec.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|