dzl 1.0.0.rc2 → 1.0.0.rc3

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