playerconnect-wsdsl 0.3.6 → 0.3.7

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/.rvmrc_example CHANGED
@@ -1,9 +1,4 @@
1
1
  gemset_name=wsdsl
2
2
  ruby_version=1.9.2-p290
3
- rubygems_version=1.8.10
4
- bundler_version=1.0.21
5
3
 
6
4
  rvm use $ruby_version@$gemset_name --create --install
7
- [ $(gem -v) = $rubygems_version ] || rvm rubygems $rubygems_version
8
- gem list bundler -v${bundler_version} -i >/dev/null
9
- [ $? -eq 0 ] || gem install bundler -v${bundler_version} --no-ri --no-rdoc
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.6
1
+ 0.3.7
@@ -135,10 +135,8 @@ module ParamsVerification
135
135
  raise MissingParam, "'#{rule.name}' is missing - passed params: #{params.inspect}."
136
136
  end
137
137
 
138
- # checks null
139
- if param_value.nil? && !rule.options[:null]
140
- raise InvalidParamValue, "Value for parameter '#{param_name}' is missing - passed params: #{params.inspect}."
141
- end
138
+ # check for nulls in params that don't allow them
139
+ check_for_null(param_name, param_value, rule, params, namespace)
142
140
 
143
141
  # run the common set of rules used for any non nil value
144
142
  params = self.run_when_not_nil(rule, params, namespace)
@@ -260,6 +258,10 @@ module ParamsVerification
260
258
  end
261
259
  end
262
260
 
261
+ # If the value is still null after possibly being given a default,
262
+ # reject it if "null" is explicitly set to false.
263
+ check_for_null(param_name, param_value, rule, params, namespace)
264
+
263
265
  # run the common set of rules used for any non nil value
264
266
  params = self.run_when_not_nil(rule, params, namespace) if param_value
265
267
 
@@ -344,4 +346,22 @@ module ParamsVerification
344
346
  end
345
347
  end
346
348
 
349
+ # if ":null => false" is explicitly set, null values will be rejected (even
350
+ # for optional params)
351
+ def self.check_for_null(param_name, param_value, rule, params, namespace)
352
+ # don't check for null against params that weren't even submitted
353
+ # return unless params && params.size > 0
354
+ if namespace
355
+ return unless params.has_key?(namespace)
356
+ params = params[namespace]
357
+ end
358
+ return unless params && params.has_key?(param_name)
359
+
360
+ # if 'null' is found in the ruleset and set to 'false' (default is 'true' to allow null),
361
+ # then confirm that the submitted value isn't nil or empty
362
+ if rule.options.has_key?(:null) && rule.options[:null] == false &&
363
+ (param_value.nil? || param_value == '' || (param_value.respond_to?(:size) && param_value.size == 0))
364
+ raise InvalidParamValue, "Value for parameter '#{param_name}' cannot be null - passed params: #{params.inspect}."
365
+ end
366
+ end
347
367
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "playerconnect-wsdsl"
8
- s.version = "0.3.6"
8
+ s.version = "0.3.7"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Team SDOD"]
12
- s.date = "2011-11-04"
12
+ s.date = "2012-07-06"
13
13
  s.description = "A Ruby DSL describing Web Services without implementation details."
14
14
  s.email = "sdod"
15
15
  s.extra_rdoc_files = [
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: playerconnect-wsdsl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.6
4
+ version: 0.3.7
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: 2011-11-04 00:00:00.000000000Z
12
+ date: 2012-07-06 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: jeweler
16
- requirement: &2165968040 !ruby/object:Gem::Requirement
16
+ requirement: &2157239240 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - =
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 1.6.4
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *2165968040
24
+ version_requirements: *2157239240
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &2165967560 !ruby/object:Gem::Requirement
27
+ requirement: &2157238640 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - =
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 2.7.0
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *2165967560
35
+ version_requirements: *2157238640
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: yard
38
- requirement: &2165967080 !ruby/object:Gem::Requirement
38
+ requirement: &2157238060 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - =
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 0.7.2
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *2165967080
46
+ version_requirements: *2157238060
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rack-test
49
- requirement: &2165966600 !ruby/object:Gem::Requirement
49
+ requirement: &2157237460 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - =
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 0.5.7
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *2165966600
57
+ version_requirements: *2157237460
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: sinatra
60
- requirement: &2165966100 !ruby/object:Gem::Requirement
60
+ requirement: &2157236860 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - =
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: 1.2.0
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *2165966100
68
+ version_requirements: *2157236860
69
69
  description: A Ruby DSL describing Web Services without implementation details.
70
70
  email: sdod
71
71
  executables: []