dzl 1.0.0.rc8 → 1.0.0.rc9

Sign up to get free protection for your applications and to get access to all the features.
@@ -48,6 +48,10 @@ class Dzl::DSLProxies::Parameter < Dzl::DSLProxy
48
48
  end
49
49
 
50
50
  if type == Hash
51
+ unless @subject.router.subject(2).is_a?(Dzl::DSLSubjects::Endpoint)
52
+ raise Dzl::NYI.new("Hash parameters may only be specified in endpoints, for now")
53
+ end
54
+
51
55
  raise Dzl::RetryBlockPlease.new(
52
56
  subject: HashValidator.new(
53
57
  @subject.opts.except(:type_opts).reverse_merge(format: :json)
@@ -29,8 +29,8 @@ class Dzl::DSLSubjects::Router < Dzl::DSLSubject
29
29
  @stack.pop
30
30
  end
31
31
 
32
- def subject
33
- @stack.last
32
+ def subject(n = 1)
33
+ @stack[-1 * n]
34
34
  end
35
35
 
36
36
  def call_with_scope(proc, scope)
data/lib/dzl/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Dzl
2
- VERSION = "1.0.0.rc8"
2
+ VERSION = "1.0.0.rc9"
3
3
  end
@@ -29,6 +29,16 @@ describe 'hash parameters' do
29
29
  }.to raise_exception(Dzl::Deprecated)
30
30
  end
31
31
 
32
+ specify 'NYI: hash parameters are currently only allowed in anonymous pblocks' do
33
+ expect {
34
+ class T1 < Dzl::Examples::Base
35
+ pblock :broken do
36
+ required(:foo) { type Hash }
37
+ end
38
+ end
39
+ }.to raise_error(Dzl::NYI)
40
+ end
41
+
32
42
  specify 'hash parameters retry their blocks against a hash validator' do
33
43
  HashValidator.any_instance.should_receive(:key).with(:key, {required: true, type: String})
34
44
  class T1 < Dzl::Examples::Base
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.rc8
4
+ version: 1.0.0.rc9
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ date: 2012-05-02 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rack
17
- requirement: &70294010134960 !ruby/object:Gem::Requirement
17
+ requirement: &70219390708320 !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: *70294010134960
25
+ version_requirements: *70219390708320
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: activesupport
28
- requirement: &70294010134460 !ruby/object:Gem::Requirement
28
+ requirement: &70219390707820 !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: *70294010134460
36
+ version_requirements: *70219390707820
37
37
  description: Small, fast racktivesupport web framework with handy DSL and explicit
38
38
  parameter validation.
39
39
  email: