dzl 1.0.0.rc4 → 1.0.0.rc5

Sign up to get free protection for your applications and to get access to all the features.
data/lib/dzl/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Dzl
2
- VERSION = "1.0.0.rc4"
2
+ VERSION = "1.0.0.rc5"
3
3
  end
@@ -25,6 +25,8 @@ class HashValidator
25
25
  end
26
26
 
27
27
  def valid?(hsh)
28
+ return false unless hsh.keys.all? { |key| top[:keys].include?(key) }
29
+
28
30
  top[:keys].each do |k, v|
29
31
  if !hsh.has_key?(k)
30
32
  if v[:opts][:required]
@@ -3,18 +3,23 @@ require 'hash_validator'
3
3
 
4
4
  describe HashValidator do
5
5
  context 'required/optional keys' do
6
- ok = {foo: 'bar', bar: 'foo'}
7
- also_ok = {foo: 'bar'}
8
- bad = {bar: 'foo'}
6
+ specify 'work as expected' do
7
+ ok = {foo: 'bar', bar: 'foo'}
8
+ also_ok = {foo: 'bar'}
9
+ bad = {bar: 'foo'}
10
+ extra = ok.merge(extra: 'bad')
9
11
 
10
- v = HashValidator.new
11
- v.required(:foo)
12
- v.optional(:bar)
12
+ v = HashValidator.new
13
+ v.required(:foo)
14
+ v.optional(:bar)
15
+
16
+ v.valid?(ok).should == true
17
+ v.valid?(bad).should == false
13
18
 
14
- v.valid?(ok).should == true
15
- v.valid?(bad).should == false
19
+ v.valid?(also_ok).should == true
16
20
 
17
- v.valid?(also_ok).should == true
21
+ v.valid?(extra).should == false
22
+ end
18
23
  end
19
24
 
20
25
  context 'key type specification' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dzl
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc4
4
+ version: 1.0.0.rc5
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-04-17 00:00:00.000000000 Z
13
+ date: 2012-04-18 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rack
17
- requirement: &70105711904460 !ruby/object:Gem::Requirement
17
+ requirement: &70321920004760 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 1.4.1
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *70105711904460
25
+ version_requirements: *70321920004760
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: activesupport
28
- requirement: &70105711903860 !ruby/object:Gem::Requirement
28
+ requirement: &70321920003960 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,7 +33,7 @@ dependencies:
33
33
  version: 3.2.2
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *70105711903860
36
+ version_requirements: *70321920003960
37
37
  description: Small, fast racktivesupport web framework with handy DSL and explicit
38
38
  parameter validation.
39
39
  email: