rack-routing 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rack/route.rb +13 -6
  3. data/lib/rack/router.rb +1 -0
  4. metadata +8 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 775f85f9f806f2508607c2eca0643ca70f686f0f
4
- data.tar.gz: 43cf5f06c4af528e01e9dc328391a5f06c96098c
3
+ metadata.gz: f352eb6310074da661fbb565e2c5336e75fea97c
4
+ data.tar.gz: 869f02f03f796e54246e5bd0a41440efeb67e50f
5
5
  SHA512:
6
- metadata.gz: 0a945d9c2d6a49038513510ef617012a118d09be013ccf78963bd3a45c3623328313a41f0d2ab9514a81e20cc3643dadf176572686fb6a911950bed7f89d7b94
7
- data.tar.gz: 67a56c5e40f2cac7e2da709d724d75d4ed7ae2dc8471780682feab9c293b8e4912bf79cda513a06678ee02d1ab763f1239ca1543e82371e4d5149146c8c20fc6
6
+ metadata.gz: 3eee6d1a4f3c4e69e1390b3629a686f985408411d005312bfdf2662a8df1cb22a84063d13ad57e7ed089650754e91c3bc743fecce5ff73a2778a08a880206d27
7
+ data.tar.gz: 8e4106a660b275a966ca1348dcd951154829f6c905b36ca3b8751723baa3f4518ddab4a82d8563579918b35a0b5151f5b806fd84e9fcbc87d53bd83b1ef474de
data/lib/rack/route.rb CHANGED
@@ -9,7 +9,8 @@ module Rack
9
9
  return false unless parts.count == @my_parts.count
10
10
 
11
11
  indexes = ( 0..@my_parts.count - 1 ).to_a
12
- indexes.delete param_index
12
+
13
+ param_indexes.each{| i | indexes.delete i }
13
14
 
14
15
  indexes.all? do |i|
15
16
  parts[ i ].to_s == @my_parts[ i ]
@@ -17,19 +18,25 @@ module Rack
17
18
  end
18
19
 
19
20
  def params_for parts
20
- return {} unless param_index
21
+ return {} unless param_indexes
21
22
 
22
- { @my_parts[ param_index ].sub( /\A:/, '' ).to_sym => parts[ param_index ]}
23
+ arr = param_indexes.map{| i | [ @my_parts[ i ].sub( /\A:/, '' ).to_sym, parts[ i ]]}
24
+
25
+ arr.to_h
23
26
  end
24
27
 
25
28
  def routing_method
26
29
  return "#{ @my_parts[ 0 ].downcase }_root".to_sym if @my_parts.count == 1
27
30
 
28
- @my_parts.reject{ |p| p[ 0 ] == ':' }.map( &:downcase ).join( '_' ).to_sym
31
+ @my_parts.reject{ |p| p[ 0 ] == ':' }
32
+ .map( &:downcase )
33
+ .map{| p | p.gsub( '-', '_' )}
34
+ .join( '_' )
35
+ .to_sym
29
36
  end
30
37
 
31
- def param_index
32
- @my_parts.index{ |p| p[ 0 ] == ':' }
38
+ def param_indexes
39
+ @my_parts.map.with_index{ | p,i | i if p[ 0 ] == ':' }.compact
33
40
  end
34
41
 
35
42
  def to_s
data/lib/rack/router.rb CHANGED
@@ -27,6 +27,7 @@ module Rack
27
27
  lines = ::File.read( ROUTES_FILE )
28
28
  .split( "\n" )
29
29
  .reject{| l | String.blank?( l )}
30
+ .reject{| l | l.match /\A\s*#/ }
30
31
 
31
32
  lines.map do |line|
32
33
  Route.new( line )
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-routing
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - George Ulmer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-24 00:00:00.000000000 Z
11
+ date: 2015-06-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rspec
14
+ name: rack
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: '3.2'
19
+ version: '1.6'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: '3.2'
26
+ version: '1.6'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rack
28
+ name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: '1.6'
33
+ version: '3.2'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: '1.6'
40
+ version: '3.2'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rack-test
43
43
  requirement: !ruby/object:Gem::Requirement