fake_rails3_routes 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # FakeRails3Routes
1
+ # Fake Rails 3 Routes
2
2
 
3
3
  This gem adapts the Rails 3 routing code to generate Rails 2.3 routes on
4
4
  the back-end, so that you can upgrade your Rails 2 routes to Rails 3
@@ -36,6 +36,12 @@ with:
36
36
  FakeRails3Routes.draw do
37
37
  ```
38
38
 
39
+ ### Concerns
40
+
41
+ This gem includes a backport of the `concerns` routing concept from
42
+ Rails 4. If you want to use concerns in Rails 3, just include the
43
+ `routing_concerns` (https://github.com/rails/routing_concerns) gem in your Gemfile.
44
+
39
45
  ## Copyright
40
46
 
41
47
  The vast majority of this gem is extracted directly from Rails 3,
@@ -34,9 +34,6 @@ module FakeRails3Routes
34
34
  end
35
35
 
36
36
  def to_route
37
- #defaults.keys.reverse.each do |k|
38
- #defaults[k] = defaults.delete(k) unless k == :controller
39
- #end
40
37
  [ conditions, requirements, defaults, @options[:as], @options[:anchor] ]
41
38
  end
42
39
 
@@ -875,6 +872,8 @@ module FakeRails3Routes
875
872
  end
876
873
 
877
874
  resource_scope(:resource, SingletonResource.new(resources.pop, options)) do
875
+ named_concerns = options.delete(:concerns)
876
+ concerns(named_concerns)
878
877
  yield if block_given?
879
878
 
880
879
  new do
@@ -1013,6 +1012,8 @@ module FakeRails3Routes
1013
1012
  end
1014
1013
 
1015
1014
  resource_scope(:resources, Resource.new(resources.pop, options)) do
1015
+ named_concerns = options.delete(:concerns)
1016
+ concerns(named_concerns)
1016
1017
  yield if block_given?
1017
1018
 
1018
1019
  collection do
@@ -1172,6 +1173,21 @@ module FakeRails3Routes
1172
1173
  self
1173
1174
  end
1174
1175
 
1176
+ def concern(name, &block)
1177
+ @concerns ||= {}
1178
+ @concerns[name] = block
1179
+ end
1180
+
1181
+ def concerns(*names)
1182
+ Array(names).flatten.compact.each do |name|
1183
+ if @concerns && concern = @concerns[name]
1184
+ instance_eval(&concern)
1185
+ else
1186
+ raise "No concern named #{name} was found!"
1187
+ end
1188
+ end
1189
+ end
1190
+
1175
1191
  def using_match_shorthand?(path, options)
1176
1192
  path && (options[:to] || options[:action]).nil? && path =~ %r{/[\w/]+$}
1177
1193
  end
@@ -1,3 +1,3 @@
1
1
  module FakeRails3Routes
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fake_rails3_routes
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -90,7 +90,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
90
90
  version: '0'
91
91
  segments:
92
92
  - 0
93
- hash: 1446774056593472069
93
+ hash: 1995574502210346130
94
94
  required_rubygems_version: !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
@@ -99,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
99
99
  version: '0'
100
100
  segments:
101
101
  - 0
102
- hash: 1446774056593472069
102
+ hash: 1995574502210346130
103
103
  requirements: []
104
104
  rubyforge_project:
105
105
  rubygems_version: 1.8.23