journey 1.0.0.rc3 → 1.0.0.rc4

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.
@@ -1,48 +1,46 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
3
  Gem::Specification.new do |s|
4
- s.name = "journey"
5
- s.version = "1.0.0.rc3.20111222185342"
4
+ s.name = %q{journey}
5
+ s.version = "1.0.0.rc4.20111228163105"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Aaron Patterson"]
9
- s.date = "2011-12-23"
10
- s.description = "Journey is a router. It routes requests."
9
+ s.date = %q{2011-12-28}
10
+ s.description = %q{Journey is a router. It routes requests.}
11
11
  s.email = ["aaron@tenderlovemaking.com"]
12
12
  s.extra_rdoc_files = ["Manifest.txt", "CHANGELOG.rdoc", "README.rdoc"]
13
13
  s.files = [".autotest", ".gemtest", ".travis.yml", "CHANGELOG.rdoc", "Gemfile", "Manifest.txt", "README.rdoc", "Rakefile", "journey.gemspec", "lib/journey.rb", "lib/journey/backwards.rb", "lib/journey/core-ext/hash.rb", "lib/journey/formatter.rb", "lib/journey/gtg/builder.rb", "lib/journey/gtg/simulator.rb", "lib/journey/gtg/transition_table.rb", "lib/journey/nfa/builder.rb", "lib/journey/nfa/dot.rb", "lib/journey/nfa/simulator.rb", "lib/journey/nfa/transition_table.rb", "lib/journey/nodes/node.rb", "lib/journey/parser.rb", "lib/journey/parser.y", "lib/journey/parser_extras.rb", "lib/journey/path/pattern.rb", "lib/journey/route.rb", "lib/journey/router.rb", "lib/journey/router/strexp.rb", "lib/journey/router/utils.rb", "lib/journey/routes.rb", "lib/journey/scanner.rb", "lib/journey/visitors.rb", "lib/journey/visualizer/d3.min.js", "lib/journey/visualizer/fsm.css", "lib/journey/visualizer/fsm.js", "lib/journey/visualizer/index.html.erb", "lib/journey/visualizer/reset.css", "test/gtg/test_builder.rb", "test/gtg/test_transition_table.rb", "test/helper.rb", "test/nfa/test_simulator.rb", "test/nfa/test_transition_table.rb", "test/nodes/test_symbol.rb", "test/path/test_pattern.rb", "test/route/definition/test_parser.rb", "test/route/definition/test_scanner.rb", "test/router/test_strexp.rb", "test/router/test_utils.rb", "test/test_route.rb", "test/test_router.rb", "test/test_routes.rb"]
14
- s.homepage = "http://github.com/tenderlove/journey"
14
+ s.homepage = %q{http://github.com/tenderlove/journey}
15
15
  s.rdoc_options = ["--main", "README.rdoc"]
16
16
  s.require_paths = ["lib"]
17
- s.rubyforge_project = "journey"
18
- s.rubygems_version = "1.8.11"
19
- s.summary = "Journey is a router"
17
+ s.rubyforge_project = %q{journey}
18
+ s.rubygems_version = %q{1.3.7}
19
+ s.summary = %q{Journey is a router}
20
20
  s.test_files = ["test/gtg/test_builder.rb", "test/gtg/test_transition_table.rb", "test/nfa/test_simulator.rb", "test/nfa/test_transition_table.rb", "test/nodes/test_symbol.rb", "test/path/test_pattern.rb", "test/route/definition/test_parser.rb", "test/route/definition/test_scanner.rb", "test/router/test_strexp.rb", "test/router/test_utils.rb", "test/test_route.rb", "test/test_router.rb", "test/test_routes.rb"]
21
21
 
22
22
  if s.respond_to? :specification_version then
23
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
23
24
  s.specification_version = 3
24
25
 
25
26
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
26
- s.add_development_dependency(%q<minitest>, ["~> 2.9"])
27
+ s.add_development_dependency(%q<minitest>, ["~> 2.3"])
27
28
  s.add_development_dependency(%q<racc>, [">= 1.4.6"])
28
29
  s.add_development_dependency(%q<rdoc>, ["~> 3.11"])
29
30
  s.add_development_dependency(%q<json>, [">= 0"])
30
31
  s.add_development_dependency(%q<hoe>, ["~> 2.12"])
31
- s.add_development_dependency(%q<rdoc>, ["~> 3.10"])
32
32
  else
33
- s.add_dependency(%q<minitest>, ["~> 2.9"])
33
+ s.add_dependency(%q<minitest>, ["~> 2.3"])
34
34
  s.add_dependency(%q<racc>, [">= 1.4.6"])
35
35
  s.add_dependency(%q<rdoc>, ["~> 3.11"])
36
36
  s.add_dependency(%q<json>, [">= 0"])
37
37
  s.add_dependency(%q<hoe>, ["~> 2.12"])
38
- s.add_dependency(%q<rdoc>, ["~> 3.10"])
39
38
  end
40
39
  else
41
- s.add_dependency(%q<minitest>, ["~> 2.9"])
40
+ s.add_dependency(%q<minitest>, ["~> 2.3"])
42
41
  s.add_dependency(%q<racc>, [">= 1.4.6"])
43
42
  s.add_dependency(%q<rdoc>, ["~> 3.11"])
44
43
  s.add_dependency(%q<json>, [">= 0"])
45
44
  s.add_dependency(%q<hoe>, ["~> 2.12"])
46
- s.add_dependency(%q<rdoc>, ["~> 3.10"])
47
45
  end
48
46
  end
@@ -17,7 +17,7 @@ module Journey
17
17
  class RoutingError < ::StandardError
18
18
  end
19
19
 
20
- VERSION = '1.0.0.rc3'
20
+ VERSION = '1.0.0.rc4'
21
21
 
22
22
  class NullReq # :nodoc:
23
23
  attr_reader :env
@@ -60,7 +60,7 @@ module Journey
60
60
 
61
61
  route.precedence = routes.length
62
62
  routes << route
63
- named_routes[name] = route if name && !named_routes[name]
63
+ named_routes[name] = route if name
64
64
  clear_cache!
65
65
  route
66
66
  end
@@ -88,7 +88,8 @@ module Journey
88
88
  if consumed == options
89
89
  nil
90
90
  else
91
- visit node.left
91
+ route = visit node.left
92
+ route.include?("\0") ? nil : route
92
93
  end
93
94
  end
94
95
 
@@ -107,8 +108,7 @@ module Journey
107
108
  def visit_SYMBOL node
108
109
  key = node.to_sym
109
110
 
110
- if options.key? key
111
- value = options[key]
111
+ if value = options[key]
112
112
  consumed[key] = value
113
113
  Router::Utils.escape_path(value)
114
114
  else
@@ -74,6 +74,20 @@ module Journey
74
74
  assert_equal '/page/10', route.format({ :id => 10 })
75
75
  end
76
76
 
77
+ def test_extras_are_not_included_if_optional_with_parameter
78
+ path = Path::Pattern.new '(/sections/:section)/pages/:id'
79
+ route = Route.new("name", nil, path, { }, { :action => 'show' })
80
+
81
+ assert_equal '/pages/10', route.format({:id => 10})
82
+ end
83
+
84
+ def test_extras_are_not_included_if_optional_parameter_is_nil
85
+ path = Path::Pattern.new '(/sections/:section)/pages/:id'
86
+ route = Route.new("name", nil, path, { }, { :action => 'show' })
87
+
88
+ assert_equal '/pages/10', route.format({:id => 10, :section => nil})
89
+ end
90
+
77
91
  def test_score
78
92
  path = Path::Pattern.new "/page/:id(/:action)(.:format)"
79
93
  specific = Route.new "name", nil, path, {}, {:controller=>"pages", :action=>"show"}
@@ -35,8 +35,8 @@ module Journey
35
35
  refute_equal sim, routes.simulator
36
36
  end
37
37
 
38
- def test_first_name_wins
39
- #def add_route app, path, conditions, defaults, name = nil
38
+ # FIXME: first name *should* win, revert this after Rails 3.2 release
39
+ def test_last_name_wins
40
40
  routes = Routes.new
41
41
 
42
42
  one = Path::Pattern.new '/hello'
@@ -45,7 +45,7 @@ module Journey
45
45
  routes.add_route nil, one, {}, {}, 'aaron'
46
46
  routes.add_route nil, two, {}, {}, 'aaron'
47
47
 
48
- assert_equal '/hello', routes.named_routes['aaron'].path.spec.to_s
48
+ assert_equal '/aaron', routes.named_routes['aaron'].path.spec.to_s
49
49
  end
50
50
  end
51
51
  end
metadata CHANGED
@@ -1,92 +1,111 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: journey
3
- version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc3
5
- prerelease: 6
3
+ version: !ruby/object:Gem::Version
4
+ hash: 977940573
5
+ prerelease: true
6
+ segments:
7
+ - 1
8
+ - 0
9
+ - 0
10
+ - rc4
11
+ version: 1.0.0.rc4
6
12
  platform: ruby
7
- authors:
13
+ authors:
8
14
  - Aaron Patterson
9
15
  autorequire:
10
16
  bindir: bin
11
17
  cert_chain: []
12
- date: 2011-12-23 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
18
+
19
+ date: 2011-12-28 00:00:00 -08:00
20
+ default_executable:
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
15
23
  name: minitest
16
- requirement: &70284201057560 !ruby/object:Gem::Requirement
24
+ prerelease: false
25
+ requirement: &id001 !ruby/object:Gem::Requirement
17
26
  none: false
18
- requirements:
27
+ requirements:
19
28
  - - ~>
20
- - !ruby/object:Gem::Version
21
- version: '2.9'
29
+ - !ruby/object:Gem::Version
30
+ hash: 5
31
+ segments:
32
+ - 2
33
+ - 3
34
+ version: "2.3"
22
35
  type: :development
23
- prerelease: false
24
- version_requirements: *70284201057560
25
- - !ruby/object:Gem::Dependency
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
26
38
  name: racc
27
- requirement: &70284201057120 !ruby/object:Gem::Requirement
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
28
41
  none: false
29
- requirements:
30
- - - ! '>='
31
- - !ruby/object:Gem::Version
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ hash: 11
46
+ segments:
47
+ - 1
48
+ - 4
49
+ - 6
32
50
  version: 1.4.6
33
51
  type: :development
34
- prerelease: false
35
- version_requirements: *70284201057120
36
- - !ruby/object:Gem::Dependency
52
+ version_requirements: *id002
53
+ - !ruby/object:Gem::Dependency
37
54
  name: rdoc
38
- requirement: &70284201056700 !ruby/object:Gem::Requirement
55
+ prerelease: false
56
+ requirement: &id003 !ruby/object:Gem::Requirement
39
57
  none: false
40
- requirements:
58
+ requirements:
41
59
  - - ~>
42
- - !ruby/object:Gem::Version
43
- version: '3.11'
60
+ - !ruby/object:Gem::Version
61
+ hash: 17
62
+ segments:
63
+ - 3
64
+ - 11
65
+ version: "3.11"
44
66
  type: :development
45
- prerelease: false
46
- version_requirements: *70284201056700
47
- - !ruby/object:Gem::Dependency
67
+ version_requirements: *id003
68
+ - !ruby/object:Gem::Dependency
48
69
  name: json
49
- requirement: &70284201056340 !ruby/object:Gem::Requirement
50
- none: false
51
- requirements:
52
- - - ! '>='
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- type: :development
56
70
  prerelease: false
57
- version_requirements: *70284201056340
58
- - !ruby/object:Gem::Dependency
59
- name: hoe
60
- requirement: &70284201055880 !ruby/object:Gem::Requirement
71
+ requirement: &id004 !ruby/object:Gem::Requirement
61
72
  none: false
62
- requirements:
63
- - - ~>
64
- - !ruby/object:Gem::Version
65
- version: '2.12'
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ hash: 3
77
+ segments:
78
+ - 0
79
+ version: "0"
66
80
  type: :development
81
+ version_requirements: *id004
82
+ - !ruby/object:Gem::Dependency
83
+ name: hoe
67
84
  prerelease: false
68
- version_requirements: *70284201055880
69
- - !ruby/object:Gem::Dependency
70
- name: rdoc
71
- requirement: &70284201323800 !ruby/object:Gem::Requirement
85
+ requirement: &id005 !ruby/object:Gem::Requirement
72
86
  none: false
73
- requirements:
87
+ requirements:
74
88
  - - ~>
75
- - !ruby/object:Gem::Version
76
- version: '3.10'
89
+ - !ruby/object:Gem::Version
90
+ hash: 27
91
+ segments:
92
+ - 2
93
+ - 12
94
+ version: "2.12"
77
95
  type: :development
78
- prerelease: false
79
- version_requirements: *70284201323800
96
+ version_requirements: *id005
80
97
  description: Journey is a router. It routes requests.
81
- email:
98
+ email:
82
99
  - aaron@tenderlovemaking.com
83
100
  executables: []
101
+
84
102
  extensions: []
85
- extra_rdoc_files:
103
+
104
+ extra_rdoc_files:
86
105
  - Manifest.txt
87
106
  - CHANGELOG.rdoc
88
107
  - README.rdoc
89
- files:
108
+ files:
90
109
  - .autotest
91
110
  - .gemtest
92
111
  - .travis.yml
@@ -138,33 +157,44 @@ files:
138
157
  - test/test_route.rb
139
158
  - test/test_router.rb
140
159
  - test/test_routes.rb
160
+ has_rdoc: true
141
161
  homepage: http://github.com/tenderlove/journey
142
162
  licenses: []
163
+
143
164
  post_install_message:
144
- rdoc_options:
165
+ rdoc_options:
145
166
  - --main
146
167
  - README.rdoc
147
- require_paths:
168
+ require_paths:
148
169
  - lib
149
- required_ruby_version: !ruby/object:Gem::Requirement
170
+ required_ruby_version: !ruby/object:Gem::Requirement
150
171
  none: false
151
- requirements:
152
- - - ! '>='
153
- - !ruby/object:Gem::Version
154
- version: '0'
155
- required_rubygems_version: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - ">="
174
+ - !ruby/object:Gem::Version
175
+ hash: 3
176
+ segments:
177
+ - 0
178
+ version: "0"
179
+ required_rubygems_version: !ruby/object:Gem::Requirement
156
180
  none: false
157
- requirements:
158
- - - ! '>'
159
- - !ruby/object:Gem::Version
181
+ requirements:
182
+ - - ">"
183
+ - !ruby/object:Gem::Version
184
+ hash: 25
185
+ segments:
186
+ - 1
187
+ - 3
188
+ - 1
160
189
  version: 1.3.1
161
190
  requirements: []
191
+
162
192
  rubyforge_project: journey
163
- rubygems_version: 1.8.11
193
+ rubygems_version: 1.3.7
164
194
  signing_key:
165
195
  specification_version: 3
166
196
  summary: Journey is a router
167
- test_files:
197
+ test_files:
168
198
  - test/gtg/test_builder.rb
169
199
  - test/gtg/test_transition_table.rb
170
200
  - test/nfa/test_simulator.rb