usher 0.8.2 → 0.8.3

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.
@@ -83,7 +83,8 @@ class Usher
83
83
  end
84
84
 
85
85
  def find_matching_path(params)
86
- matching_path = if params.nil? || params.empty?
86
+ significant_param_keys = (params && params.is_a?(Hash)) ? (params.keys & grapher.significant_keys) : nil
87
+ matching_path = if significant_param_keys.nil? || significant_param_keys.empty?
87
88
  @paths.first
88
89
  else
89
90
  @paths.size == 1 ? @paths.first : grapher.find_matching_path(params)
@@ -19,6 +19,11 @@ describe "Usher URL generation" do
19
19
  @route_set.generator.generate(:sample, {:action => 'action'}).should == '/sample/action'
20
20
  end
21
21
 
22
+ it "should generate a simple URL and ignore the optional part" do
23
+ @route_set.add_named_route(:test, '/test1/url2(.:format)')
24
+ @route_set.generator.generate(:test, {:foo => 'baz'}).should == '/test1/url2?foo=baz'
25
+ end
26
+
22
27
  it "should generate a simple URL with a single variable (and escape)" do
23
28
  @route_set.add_named_route(:sample, '/sample/:action', :controller => 'sample')
24
29
  @route_set.generator.generate(:sample, {:action => 'action time'}).should == '/sample/action%20time'
@@ -5,7 +5,7 @@ require "base64"
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "usher"
8
- s.version = "0.8.2"
8
+ s.version = "0.8.3"
9
9
  s.authors = ["Daniel Neighman", "Daniel Vartanov", "Jakub Šťastný", "Joshua Hull", "Davide D'Agostino"].sort
10
10
  s.homepage = "http://github.com/joshbuddy/usher"
11
11
  s.summary = "Pure ruby general purpose router with interfaces for rails, rack, email or choose your own adventure"
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 8
8
- - 2
9
- version: 0.8.2
8
+ - 3
9
+ version: 0.8.3
10
10
  platform: ruby
11
11
  authors:
12
12
  - Daniel Neighman
@@ -19,7 +19,7 @@ authors:
19
19
  autorequire:
20
20
  bindir: bin
21
21
  cert_chain:
22
- date: 2010-05-20 00:00:00 -04:00
22
+ date: 2010-05-21 00:00:00 -04:00
23
23
  default_executable:
24
24
  dependencies:
25
25
  - !ruby/object:Gem::Dependency