journey 1.0.0.rc3 → 1.0.0.rc4

Sign up to get free protection for your applications and to get access to all the features.
@@ -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