weasel_diesel 1.1.3 → 1.1.4

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml CHANGED
@@ -10,3 +10,7 @@ rvm:
10
10
  - ruby-head
11
11
  - jruby-head
12
12
  - ree
13
+
14
+ matrix:
15
+ allow_failures:
16
+ - ruby-head
data/Rakefile CHANGED
@@ -1,5 +1,7 @@
1
+ require 'rubygems'
1
2
  require "bundler/gem_tasks"
2
-
3
+ require 'bundler'
4
+ Bundler.setup
3
5
  require 'rspec/core'
4
6
  require 'rspec/core/rake_task'
5
7
  RSpec::Core::RakeTask.new(:spec) do |spec|
@@ -106,14 +106,14 @@ module ParamsVerification
106
106
 
107
107
  # Checks presence
108
108
  if !(namespaced_params || params).keys.include?(param_name)
109
- raise MissingParam, "'#{rule.name}' is missing - passed params: #{params.inspect}."
109
+ raise MissingParam, "'#{rule.name}' is missing - passed params: #{html_escape(params.inspect)}."
110
110
  end
111
111
 
112
112
  updated_param_value, updated_params = validate_and_cast_type(param_value, param_name, rule.options[:type], params, namespace)
113
113
 
114
114
  # check for nulls in params that don't allow them
115
115
  if !valid_null_param?(param_name, updated_param_value, rule)
116
- raise InvalidParamValue, "Value for parameter '#{param_name}' cannot be null - passed params: #{updated_params.inspect}."
116
+ raise InvalidParamValue, "Value for parameter '#{param_name}' cannot be null - passed params: #{html_escape(updated_params.inspect)}."
117
117
  elsif updated_param_value
118
118
  value_errors = validate_ruled_param_value(param_name, updated_param_value, rule)
119
119
  raise InvalidParamValue, value_errors.join(', ') if value_errors
@@ -138,7 +138,7 @@ module ParamsVerification
138
138
  param_value, namespaced_params = extract_param_values(params, param_name, namespace)
139
139
 
140
140
  if param_value && !valid_null_param?(param_name, param_value, rule)
141
- raise InvalidParamValue, "Value for parameter '#{param_name}' cannot be null if passed - passed params: #{params.inspect}."
141
+ raise InvalidParamValue, "Value for parameter '#{param_name}' cannot be null if passed - passed params: #{html_escape(params.inspect)}."
142
142
  end
143
143
 
144
144
  # Use a default value if one is available and the submitted param value is nil
@@ -199,7 +199,7 @@ module ParamsVerification
199
199
  choices = rule.options[:options] || rule.options[:in]
200
200
  unless param_value.is_a?(Array) ? (param_value & choices == param_value) : choices.include?(param_value)
201
201
  errors ||= []
202
- errors << "Value for parameter '#{param_name}' (#{param_value}) is not in the allowed set of values."
202
+ errors << "Value for parameter '#{param_name}' (#{html_escape(param_value)}) is not in the allowed set of values."
203
203
  end
204
204
  end
205
205
 
@@ -208,7 +208,7 @@ module ParamsVerification
208
208
  min = rule.options[:min_value]
209
209
  if param_value.to_i < min
210
210
  errors ||= []
211
- errors << "Value for parameter '#{param_name}' ('#{param_value}') is lower than the min accepted value (#{min})."
211
+ errors << "Value for parameter '#{param_name}' ('#{html_escape(param_value)}') is lower than the min accepted value (#{min})."
212
212
  end
213
213
  end
214
214
 
@@ -217,7 +217,7 @@ module ParamsVerification
217
217
  max = rule.options[:max_value]
218
218
  if param_value.to_i > max
219
219
  errors ||= []
220
- errors << "Value for parameter '#{param_name}' ('#{param_value}') is higher than the max accepted value (#{max})."
220
+ errors << "Value for parameter '#{param_name}' ('#{html_escape(param_value)}') is higher than the max accepted value (#{max})."
221
221
  end
222
222
  end
223
223
 
@@ -226,7 +226,7 @@ module ParamsVerification
226
226
  min = rule.options[:min_length]
227
227
  if param_value.to_s.length < min
228
228
  errors ||= []
229
- errors << "Length of parameter '#{param_name}' ('#{param_value}') is shorter than the min accepted value (#{min})."
229
+ errors << "Length of parameter '#{param_name}' ('#{html_escape(param_value)}') is shorter than the min accepted value (#{min})."
230
230
  end
231
231
  end
232
232
 
@@ -235,7 +235,7 @@ module ParamsVerification
235
235
  max = rule.options[:max_length]
236
236
  if param_value.to_s.length > max
237
237
  errors ||= []
238
- errors << "Length of parameter '#{param_name}' ('#{param_value}') is longer than the max accepted value (#{max})."
238
+ errors << "Length of parameter '#{param_name}' ('#{html_escape(param_value)}') is longer than the max accepted value (#{max})."
239
239
  end
240
240
  end
241
241
 
@@ -324,7 +324,7 @@ module ParamsVerification
324
324
  return if value == nil
325
325
  validation = ParamsVerification.type_validations[expected_type.to_sym]
326
326
  unless validation.nil? || value.to_s =~ validation
327
- raise InvalidParamType, "Value for parameter '#{name}' (#{value}) is of the wrong type (expected #{expected_type})"
327
+ raise InvalidParamType, "Value for parameter '#{name}' (#{html_escape(value)}) is of the wrong type (expected #{expected_type})"
328
328
  end
329
329
  end
330
330
 
@@ -347,5 +347,8 @@ module ParamsVerification
347
347
  true
348
348
  end
349
349
 
350
-
350
+ def self.html_escape(msg)
351
+ ERB::Util.html_escape(msg)
352
+ end
353
+
351
354
  end
@@ -1,3 +1,3 @@
1
1
  class WeaselDiesel
2
- VERSION = "1.1.3"
2
+ VERSION = "1.1.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: weasel_diesel
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.1.4
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: 2012-09-05 00:00:00.000000000 Z
12
+ date: 2012-10-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70239219616680 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70239219616680
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: rack-test
27
- requirement: &70239219616240 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: '0'
33
38
  type: :development
34
39
  prerelease: false
35
- version_requirements: *70239219616240
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: yard
38
- requirement: &70239219615600 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: '0'
44
54
  type: :development
45
55
  prerelease: false
46
- version_requirements: *70239219615600
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: sinatra
49
- requirement: &70239219615120 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ! '>='
@@ -54,10 +69,15 @@ dependencies:
54
69
  version: '0'
55
70
  type: :development
56
71
  prerelease: false
57
- version_requirements: *70239219615120
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: rake
60
- requirement: &70239219614700 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ! '>='
@@ -65,7 +85,12 @@ dependencies:
65
85
  version: '0'
66
86
  type: :development
67
87
  prerelease: false
68
- version_requirements: *70239219614700
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
69
94
  description: Ruby DSL describing Web Services without implementation details.
70
95
  email:
71
96
  - mattaimonetti@gmail.com
@@ -117,15 +142,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
117
142
  - - ! '>='
118
143
  - !ruby/object:Gem::Version
119
144
  version: '0'
145
+ segments:
146
+ - 0
147
+ hash: 1819885945889786585
120
148
  required_rubygems_version: !ruby/object:Gem::Requirement
121
149
  none: false
122
150
  requirements:
123
151
  - - ! '>='
124
152
  - !ruby/object:Gem::Version
125
153
  version: '0'
154
+ segments:
155
+ - 0
156
+ hash: 1819885945889786585
126
157
  requirements: []
127
158
  rubyforge_project: wsdsl
128
- rubygems_version: 1.8.16
159
+ rubygems_version: 1.8.24
129
160
  signing_key:
130
161
  specification_version: 3
131
162
  summary: Web Service DSL