interpol 0.3.0 → 0.3.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/Rakefile +4 -0
- data/lib/interpol/sinatra/request_params_parser.rb +12 -1
- data/lib/interpol/version.rb +1 -1
- metadata +4 -4
data/Rakefile
CHANGED
|
@@ -19,6 +19,10 @@ if defined?(RUBY_ENGINE) && RUBY_ENGINE == 'ruby' # MRI only
|
|
|
19
19
|
cane.abc_exclude = %w[
|
|
20
20
|
Interpol::Configuration#register_default_callbacks
|
|
21
21
|
]
|
|
22
|
+
|
|
23
|
+
cane.style_exclude = %w[
|
|
24
|
+
spec/unit/interpol/sinatra/request_params_parser_spec.rb
|
|
25
|
+
]
|
|
22
26
|
end
|
|
23
27
|
else
|
|
24
28
|
task(:quality) { } # no-op
|
|
@@ -89,12 +89,23 @@ module Interpol
|
|
|
89
89
|
# We cannot access the full params (w/ path params) in a before hook,
|
|
90
90
|
# due to the order that sinatra runs the hooks in relation to route
|
|
91
91
|
# matching.
|
|
92
|
-
def process_route(*method_args)
|
|
92
|
+
def process_route(*method_args, &block)
|
|
93
|
+
return super unless SinatraOverriddes.being_processed_by_sinatra?(block)
|
|
94
|
+
|
|
93
95
|
super do |*block_args|
|
|
94
96
|
validate_params if settings.parse_params?
|
|
95
97
|
yield *block_args
|
|
96
98
|
end
|
|
97
99
|
end
|
|
100
|
+
|
|
101
|
+
def self.being_processed_by_sinatra?(block)
|
|
102
|
+
# In case the block is nil or we're on 1.8 w/o #source_location...
|
|
103
|
+
# Just assume the route is being processed by sinatra.
|
|
104
|
+
# It's an exceptional case for it to not be (e.g. NewRelic's
|
|
105
|
+
# Sinatra hook).
|
|
106
|
+
return true unless block.respond_to?(:source_location)
|
|
107
|
+
block.source_location.first.end_with?('sinatra/base.rb')
|
|
108
|
+
end
|
|
98
109
|
end
|
|
99
110
|
end
|
|
100
111
|
end
|
data/lib/interpol/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: interpol
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.1
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2012-09-
|
|
12
|
+
date: 2012-09-26 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: json-schema
|
|
@@ -223,7 +223,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
223
223
|
version: '0'
|
|
224
224
|
segments:
|
|
225
225
|
- 0
|
|
226
|
-
hash:
|
|
226
|
+
hash: -2997986651256795952
|
|
227
227
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
228
228
|
none: false
|
|
229
229
|
requirements:
|
|
@@ -232,7 +232,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
232
232
|
version: '0'
|
|
233
233
|
segments:
|
|
234
234
|
- 0
|
|
235
|
-
hash:
|
|
235
|
+
hash: -2997986651256795952
|
|
236
236
|
requirements: []
|
|
237
237
|
rubyforge_project:
|
|
238
238
|
rubygems_version: 1.8.24
|