interpol 0.10.4 → 0.10.5
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 +15 -0
- data/Gemfile +1 -1
- data/lib/interpol/endpoint.rb +4 -1
- data/lib/interpol/sinatra/request_params_parser.rb +3 -3
- data/lib/interpol/version.rb +1 -1
- metadata +41 -69
checksums.yaml
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
!binary "U0hBMQ==":
|
|
3
|
+
metadata.gz: !binary |-
|
|
4
|
+
MGU3YWY2YWI4ODBjYTc3Y2QyMDY3MzkyNjgxZDU5ZDk5Y2I1OTU5Mg==
|
|
5
|
+
data.tar.gz: !binary |-
|
|
6
|
+
OGNkZjU4Y2Y5MzI2YzU3YzFmMDZmYzRhZWE0OWM4YjNmMWMzMmQ0Mw==
|
|
7
|
+
!binary "U0hBNTEy":
|
|
8
|
+
metadata.gz: !binary |-
|
|
9
|
+
NTc4ZjBlZjdiYjNkZWE4YjEyNTM5YTI3NzAyYjg1MDhkODU5MTVhYmIxYTE4
|
|
10
|
+
NGUyYjZmOWI5MWExYWUwZjA5MmM0YTI4NmQ2MmJjMTc3MmMzYmI5NjcyMGQy
|
|
11
|
+
NzA4ZjljODRmNGI0NzU5NGMxMTE4MDI5YzAwNmZhZmIxNTQyMmE=
|
|
12
|
+
data.tar.gz: !binary |-
|
|
13
|
+
YWIyYzBiZTkxYjY0ZTg1MWY3ZThmNThmODZlOTExZDk5NzlmZDBjMjg0M2Zj
|
|
14
|
+
MzhmNGE1OWQyNTlhNzYzZmY1YzU5OTEzYzczZjFmYjIyYTBlYzI3YjM0MWJm
|
|
15
|
+
ZjAzZjhmYzNkODlmM2Y4ODEwYjljYzNjM2FlMDNjMmE1MDJlMjM=
|
data/Gemfile
CHANGED
|
@@ -13,7 +13,7 @@ gem 'compass_twitter_bootstrap', :git => 'git://github.com/vwall/compass-twitter
|
|
|
13
13
|
|
|
14
14
|
gem 'json', :platform => 'ruby_18'
|
|
15
15
|
|
|
16
|
-
gem 'cane', '~> 2.6'
|
|
16
|
+
gem 'cane', '~> 2.6' if RUBY_VERSION.to_f > 1.8
|
|
17
17
|
|
|
18
18
|
# 1.6 won't install on JRuby or 1.8.7 :(.
|
|
19
19
|
gem 'nokogiri', '~> 1.5.10'
|
data/lib/interpol/endpoint.rb
CHANGED
|
@@ -279,7 +279,10 @@ module Interpol
|
|
|
279
279
|
types = Array(raw_schema['type'])
|
|
280
280
|
return if types.none? || types.include?('null')
|
|
281
281
|
|
|
282
|
-
|
|
282
|
+
# Mark as non-nullable so it doesn't try to recurse down into it
|
|
283
|
+
# and make it nullable at that level (since we are taking care of it at this level)
|
|
284
|
+
sub_schema = raw_schema.merge('nullable' => false)
|
|
285
|
+
raw_schema.replace('type' => ['null', sub_schema])
|
|
283
286
|
end
|
|
284
287
|
|
|
285
288
|
def should_be_nullable?(raw_schema)
|
|
@@ -53,7 +53,7 @@ module Interpol
|
|
|
53
53
|
alias unparsed_params params
|
|
54
54
|
set :request_params_parser, parser
|
|
55
55
|
enable :parse_params unless settings.respond_to?(:parse_params)
|
|
56
|
-
include
|
|
56
|
+
include SinatraOverrides
|
|
57
57
|
end
|
|
58
58
|
end
|
|
59
59
|
|
|
@@ -123,7 +123,7 @@ module Interpol
|
|
|
123
123
|
end
|
|
124
124
|
|
|
125
125
|
# Contains methods that override sinatra methods.
|
|
126
|
-
module
|
|
126
|
+
module SinatraOverrides
|
|
127
127
|
extend Forwardable
|
|
128
128
|
def_delegators :settings, :request_params_parser
|
|
129
129
|
|
|
@@ -131,7 +131,7 @@ module Interpol
|
|
|
131
131
|
# due to the order that sinatra runs the hooks in relation to route
|
|
132
132
|
# matching.
|
|
133
133
|
def process_route(*method_args, &block)
|
|
134
|
-
return super unless
|
|
134
|
+
return super unless SinatraOverrides.being_processed_by_sinatra?(block)
|
|
135
135
|
|
|
136
136
|
super do |*block_args|
|
|
137
137
|
with_parsed_params do
|
data/lib/interpol/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,176 +1,155 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: interpol
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
|
|
5
|
-
version: 0.10.4
|
|
4
|
+
version: 0.10.5
|
|
6
5
|
platform: ruby
|
|
7
6
|
authors:
|
|
8
7
|
- Myron Marston
|
|
9
8
|
autorequire:
|
|
10
9
|
bindir: bin
|
|
11
10
|
cert_chain: []
|
|
12
|
-
date: 2013-
|
|
11
|
+
date: 2013-12-02 00:00:00.000000000 Z
|
|
13
12
|
dependencies:
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
|
15
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
16
|
-
requirements:
|
|
17
|
-
- - ! '>='
|
|
18
|
-
- !ruby/object:Gem::Version
|
|
19
|
-
version: '0'
|
|
20
|
-
none: false
|
|
21
|
-
prerelease: false
|
|
22
14
|
name: rack
|
|
23
15
|
requirement: !ruby/object:Gem::Requirement
|
|
24
16
|
requirements:
|
|
25
17
|
- - ! '>='
|
|
26
18
|
- !ruby/object:Gem::Version
|
|
27
19
|
version: '0'
|
|
28
|
-
none: false
|
|
29
20
|
type: :runtime
|
|
30
|
-
|
|
21
|
+
prerelease: false
|
|
31
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
32
23
|
requirements:
|
|
33
|
-
- -
|
|
24
|
+
- - ! '>='
|
|
34
25
|
- !ruby/object:Gem::Version
|
|
35
|
-
version:
|
|
36
|
-
|
|
37
|
-
prerelease: false
|
|
26
|
+
version: '0'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
38
28
|
name: json-schema
|
|
39
29
|
requirement: !ruby/object:Gem::Requirement
|
|
40
30
|
requirements:
|
|
41
31
|
- - ~>
|
|
42
32
|
- !ruby/object:Gem::Version
|
|
43
33
|
version: 1.1.1
|
|
44
|
-
none: false
|
|
45
34
|
type: :runtime
|
|
46
|
-
|
|
35
|
+
prerelease: false
|
|
47
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
48
37
|
requirements:
|
|
49
38
|
- - ~>
|
|
50
39
|
- !ruby/object:Gem::Version
|
|
51
|
-
version:
|
|
52
|
-
|
|
53
|
-
prerelease: false
|
|
40
|
+
version: 1.1.1
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
54
42
|
name: rspec
|
|
55
43
|
requirement: !ruby/object:Gem::Requirement
|
|
56
44
|
requirements:
|
|
57
45
|
- - ~>
|
|
58
46
|
- !ruby/object:Gem::Version
|
|
59
47
|
version: '2.13'
|
|
60
|
-
none: false
|
|
61
48
|
type: :development
|
|
62
|
-
|
|
49
|
+
prerelease: false
|
|
63
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
64
51
|
requirements:
|
|
65
52
|
- - ~>
|
|
66
53
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: '
|
|
68
|
-
|
|
69
|
-
prerelease: false
|
|
54
|
+
version: '2.13'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
70
56
|
name: rspec-fire
|
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
|
72
58
|
requirements:
|
|
73
59
|
- - ~>
|
|
74
60
|
- !ruby/object:Gem::Version
|
|
75
61
|
version: '1.2'
|
|
76
|
-
none: false
|
|
77
62
|
type: :development
|
|
78
|
-
|
|
63
|
+
prerelease: false
|
|
79
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
80
65
|
requirements:
|
|
81
66
|
- - ~>
|
|
82
67
|
- !ruby/object:Gem::Version
|
|
83
|
-
version: '
|
|
84
|
-
|
|
85
|
-
prerelease: false
|
|
68
|
+
version: '1.2'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
86
70
|
name: simplecov
|
|
87
71
|
requirement: !ruby/object:Gem::Requirement
|
|
88
72
|
requirements:
|
|
89
73
|
- - ~>
|
|
90
74
|
- !ruby/object:Gem::Version
|
|
91
75
|
version: '0.6'
|
|
92
|
-
none: false
|
|
93
76
|
type: :development
|
|
94
|
-
|
|
77
|
+
prerelease: false
|
|
95
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
96
79
|
requirements:
|
|
97
80
|
- - ~>
|
|
98
81
|
- !ruby/object:Gem::Version
|
|
99
|
-
version: '0'
|
|
100
|
-
|
|
101
|
-
prerelease: false
|
|
82
|
+
version: '0.6'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
102
84
|
name: tailor
|
|
103
85
|
requirement: !ruby/object:Gem::Requirement
|
|
104
86
|
requirements:
|
|
105
87
|
- - ~>
|
|
106
88
|
- !ruby/object:Gem::Version
|
|
107
89
|
version: '0'
|
|
108
|
-
none: false
|
|
109
90
|
type: :development
|
|
110
|
-
|
|
91
|
+
prerelease: false
|
|
111
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
112
93
|
requirements:
|
|
113
94
|
- - ~>
|
|
114
95
|
- !ruby/object:Gem::Version
|
|
115
|
-
version: 0
|
|
116
|
-
|
|
117
|
-
prerelease: false
|
|
96
|
+
version: '0'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
118
98
|
name: rake
|
|
119
99
|
requirement: !ruby/object:Gem::Requirement
|
|
120
100
|
requirements:
|
|
121
101
|
- - ~>
|
|
122
102
|
- !ruby/object:Gem::Version
|
|
123
103
|
version: 0.9.2.2
|
|
124
|
-
none: false
|
|
125
104
|
type: :development
|
|
126
|
-
|
|
105
|
+
prerelease: false
|
|
127
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
128
107
|
requirements:
|
|
129
|
-
- -
|
|
108
|
+
- - ~>
|
|
130
109
|
- !ruby/object:Gem::Version
|
|
131
|
-
version: 0.
|
|
132
|
-
|
|
133
|
-
prerelease: false
|
|
110
|
+
version: 0.9.2.2
|
|
111
|
+
- !ruby/object:Gem::Dependency
|
|
134
112
|
name: rack-test
|
|
135
113
|
requirement: !ruby/object:Gem::Requirement
|
|
136
114
|
requirements:
|
|
137
115
|
- - '='
|
|
138
116
|
- !ruby/object:Gem::Version
|
|
139
117
|
version: 0.6.1
|
|
140
|
-
none: false
|
|
141
118
|
type: :development
|
|
142
|
-
|
|
119
|
+
prerelease: false
|
|
143
120
|
version_requirements: !ruby/object:Gem::Requirement
|
|
144
121
|
requirements:
|
|
145
|
-
- -
|
|
122
|
+
- - '='
|
|
146
123
|
- !ruby/object:Gem::Version
|
|
147
|
-
version:
|
|
148
|
-
|
|
149
|
-
prerelease: false
|
|
124
|
+
version: 0.6.1
|
|
125
|
+
- !ruby/object:Gem::Dependency
|
|
150
126
|
name: hashie
|
|
151
127
|
requirement: !ruby/object:Gem::Requirement
|
|
152
128
|
requirements:
|
|
153
129
|
- - ~>
|
|
154
130
|
- !ruby/object:Gem::Version
|
|
155
131
|
version: '1.2'
|
|
156
|
-
none: false
|
|
157
132
|
type: :development
|
|
158
|
-
|
|
133
|
+
prerelease: false
|
|
159
134
|
version_requirements: !ruby/object:Gem::Requirement
|
|
160
135
|
requirements:
|
|
161
136
|
- - ~>
|
|
162
137
|
- !ruby/object:Gem::Version
|
|
163
|
-
version: '1.
|
|
164
|
-
|
|
165
|
-
prerelease: false
|
|
138
|
+
version: '1.2'
|
|
139
|
+
- !ruby/object:Gem::Dependency
|
|
166
140
|
name: sinatra
|
|
167
141
|
requirement: !ruby/object:Gem::Requirement
|
|
168
142
|
requirements:
|
|
169
143
|
- - ~>
|
|
170
144
|
- !ruby/object:Gem::Version
|
|
171
145
|
version: '1.4'
|
|
172
|
-
none: false
|
|
173
146
|
type: :development
|
|
147
|
+
prerelease: false
|
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
149
|
+
requirements:
|
|
150
|
+
- - ~>
|
|
151
|
+
- !ruby/object:Gem::Version
|
|
152
|
+
version: '1.4'
|
|
174
153
|
description: Interpol is a toolkit for working with API endpoint definition files,
|
|
175
154
|
giving you a stub app, a schema validation middleware, and browsable documentation.
|
|
176
155
|
email:
|
|
@@ -228,6 +207,7 @@ files:
|
|
|
228
207
|
- lib/interpol/documentation_app/views/layout.erb
|
|
229
208
|
homepage: ''
|
|
230
209
|
licenses: []
|
|
210
|
+
metadata: {}
|
|
231
211
|
post_install_message:
|
|
232
212
|
rdoc_options: []
|
|
233
213
|
require_paths:
|
|
@@ -237,23 +217,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
237
217
|
- - ! '>='
|
|
238
218
|
- !ruby/object:Gem::Version
|
|
239
219
|
version: '0'
|
|
240
|
-
segments:
|
|
241
|
-
- 0
|
|
242
|
-
hash: -3531108156490153383
|
|
243
|
-
none: false
|
|
244
220
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
245
221
|
requirements:
|
|
246
222
|
- - ! '>='
|
|
247
223
|
- !ruby/object:Gem::Version
|
|
248
224
|
version: '0'
|
|
249
|
-
segments:
|
|
250
|
-
- 0
|
|
251
|
-
hash: -3531108156490153383
|
|
252
|
-
none: false
|
|
253
225
|
requirements: []
|
|
254
226
|
rubyforge_project:
|
|
255
|
-
rubygems_version:
|
|
227
|
+
rubygems_version: 2.0.7
|
|
256
228
|
signing_key:
|
|
257
|
-
specification_version:
|
|
229
|
+
specification_version: 4
|
|
258
230
|
summary: Interpol is a toolkit for policing your HTTP JSON interface.
|
|
259
231
|
test_files: []
|