dzl 1.0.0.rc2 → 1.0.0.rc3

Sign up to get free protection for your applications and to get access to all the features.
@@ -7,7 +7,7 @@ class Dzl::DSLProxies::ParameterBlock < Dzl::DSLProxy
7
7
  # Don't clobber params we already know about
8
8
  @subject.params[name].overwrite_opts(opts)
9
9
  else
10
- @subject.params[name] = Dzl::DSLSubjects::Parameter.new(name, opts)
10
+ @subject.params[name] = Dzl::DSLSubjects::Parameter.new(name, opts, @subject.router)
11
11
  end
12
12
 
13
13
  @subject.router.call_with_subject(Proc.new, @subject.params[name]) if block_given?
@@ -14,7 +14,7 @@ class Dzl::DSLSubjects::Parameter
14
14
  elsif param_type == Array
15
15
  v = Dzl::ValueOrError.new(
16
16
  v: input.split(
17
- (@opts[:type_opts][:separator] rescue nil) || ' '
17
+ (@opts[:type_opts][:separator] rescue nil) || @router.defaults[:array_separator]
18
18
  )
19
19
  )
20
20
 
@@ -11,13 +11,14 @@ class Dzl::DSLSubjects::Parameter < Dzl::DSLSubject
11
11
  attr_reader :validations, :opts
12
12
  attr_writer :default
13
13
 
14
- def initialize(name, opts)
14
+ def initialize(name, opts, router)
15
15
  @name = name
16
16
  @opts = opts
17
17
  @validations = {
18
18
  type: String
19
19
  }
20
20
  @dsl_proxy = Dzl::DSLProxies::Parameter.new(self)
21
+ @router = router
21
22
  end
22
23
 
23
24
  def clone
@@ -10,7 +10,9 @@ class Dzl::DSLSubjects::Router < Dzl::DSLSubject
10
10
  @endpoints_by_route = {}
11
11
  @stack = []
12
12
  @scope = []
13
- @defaults = {}
13
+ @defaults = {
14
+ array_separator: ' '
15
+ }
14
16
  @defaults_dslsub = Dzl::DSLSubjects::Defaults.new(self)
15
17
  @dsl_proxy = Dzl::DSLProxies::Router.new(self)
16
18
  @app = app
@@ -0,0 +1,11 @@
1
+ require 'dzl/examples/base'
2
+
3
+ class Dzl::Examples::Scribe < Dzl::Examples::Base
4
+ defaults do
5
+ array_separator '|'
6
+ end
7
+
8
+ endpoint '/series', :get, :post do
9
+ required(:actions) { type Array }
10
+ end
11
+ end
data/lib/dzl/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Dzl
2
- VERSION = "1.0.0.rc2"
2
+ VERSION = "1.0.0.rc3"
3
3
  end
@@ -0,0 +1,16 @@
1
+ require 'spec_helper'
2
+ require 'rack/test'
3
+ require 'dzl/examples/scribe'
4
+
5
+ describe Dzl::Examples::Scribe do
6
+ def app; Dzl::Examples::Scribe; end
7
+ include Rack::Test::Methods
8
+
9
+ specify 'default array separator is |' do
10
+ Dzl::Examples::Scribe.__router.defaults[:array_separator].should == '|'
11
+
12
+ get('/series', {actions: 'this|that|these'}) do |response|
13
+ JSON.parse(response.body)['params']['actions'].should == ['this', 'that', 'these']
14
+ end
15
+ end
16
+ end
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.rc2
4
+ version: 1.0.0.rc3
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-11 00:00:00.000000000 Z
13
+ date: 2012-04-16 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rack
17
- requirement: &70341255505180 !ruby/object:Gem::Requirement
17
+ requirement: &70197974289540 !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: *70341255505180
25
+ version_requirements: *70197974289540
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: activesupport
28
- requirement: &70341255504680 !ruby/object:Gem::Requirement
28
+ requirement: &70197974289020 !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: *70341255504680
36
+ version_requirements: *70197974289020
37
37
  description: Small, fast racktivesupport web framework with handy DSL and explicit
38
38
  parameter validation.
39
39
  email:
@@ -86,6 +86,7 @@ files:
86
86
  - lib/dzl/examples/fun_with_requests.rb
87
87
  - lib/dzl/examples/fun_with_scopes.rb
88
88
  - lib/dzl/examples/route_profile.rb
89
+ - lib/dzl/examples/scribe.rb
89
90
  - lib/dzl/examples/trey.rb
90
91
  - lib/dzl/logger.rb
91
92
  - lib/dzl/rack_interface.rb
@@ -113,6 +114,7 @@ files:
113
114
  - spec/logger_spec.rb
114
115
  - spec/route_params_spec.rb
115
116
  - spec/router_doc_spec.rb
117
+ - spec/scribe_spec.rb
116
118
  - spec/spec_helper.rb
117
119
  - spec/trey_spec.rb
118
120
  - spec/value_or_error_spec.rb
@@ -154,6 +156,7 @@ test_files:
154
156
  - spec/logger_spec.rb
155
157
  - spec/route_params_spec.rb
156
158
  - spec/router_doc_spec.rb
159
+ - spec/scribe_spec.rb
157
160
  - spec/spec_helper.rb
158
161
  - spec/trey_spec.rb
159
162
  - spec/value_or_error_spec.rb