dzl 1.0.0.rc8 → 1.0.0.rc9

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.
@@ -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: