josevalim-inherited_resources 0.8.3 → 0.8.4

Sign up to get free protection for your applications and to get access to all the features.
data/README CHANGED
@@ -1,6 +1,6 @@
1
1
  Inherited Resources
2
2
  License: MIT
3
- Version: 0.8.2
3
+ Version: 0.8.4
4
4
 
5
5
  You can also read this README in pretty html at the GitHub project Wiki page:
6
6
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.8.3
1
+ 0.8.4
@@ -44,7 +44,13 @@ module InheritedResources
44
44
  resource_config = self.resources_configuration[:self]
45
45
 
46
46
  # Add route_prefix if any.
47
- resource_segments << resource_config[:route_prefix] unless resource_config[:route_prefix].blank?
47
+ unless resource_config[:route_prefix].blank?
48
+ if self.parents_symbols.include?(:polymorphic)
49
+ resource_ivars << resource_config[:route_prefix].to_s.inspect
50
+ else
51
+ resource_segments << resource_config[:route_prefix]
52
+ end
53
+ end
48
54
 
49
55
  # Deal with belongs_to associations and polymorphic associations.
50
56
  # Remember that we don't have to build the segments in polymorphic cases,
@@ -39,6 +39,13 @@ class BedsController < InheritedResources::Base
39
39
  optional_belongs_to :house, :building
40
40
  end
41
41
 
42
+ class Desk; end
43
+ module Admin
44
+ class DesksController < InheritedResources::Base
45
+ optional_belongs_to :house
46
+ end
47
+ end
48
+
42
49
  class Dish; end
43
50
  class DishesController < InheritedResources::Base
44
51
  belongs_to :house do
@@ -302,6 +309,45 @@ class UrlHelpersTest < ActiveSupport::TestCase
302
309
  controller.send("edit_resource_url", :arg)
303
310
  end
304
311
 
312
+ def test_url_helpers_on_namespaced_polymorphic_belongs_to
313
+ house = House.new
314
+ desk = Desk.new
315
+
316
+ new_desk = Desk.new
317
+ Desk.stubs(:new).returns(new_desk)
318
+ new_desk.stubs(:new_record?).returns(true)
319
+
320
+ controller = Admin::DesksController.new
321
+ controller.instance_variable_set('@parent_type', :house)
322
+ controller.instance_variable_set('@house', house)
323
+ controller.instance_variable_set('@desk', desk)
324
+
325
+ [:url, :path].each do |path_or_url|
326
+ controller.expects("admin_house_desks_#{path_or_url}").with(house).once
327
+ controller.send("collection_#{path_or_url}")
328
+
329
+ controller.expects("admin_house_desk_#{path_or_url}").with(house, desk).once
330
+ controller.send("resource_#{path_or_url}")
331
+
332
+ controller.expects("new_admin_house_desk_#{path_or_url}").with(house).once
333
+ controller.send("new_resource_#{path_or_url}")
334
+
335
+ controller.expects("edit_admin_house_desk_#{path_or_url}").with(house, desk).once
336
+ controller.send("edit_resource_#{path_or_url}")
337
+ end
338
+
339
+ # With options
340
+ controller.expects("admin_house_desk_url").with(house, desk, :page => 1).once
341
+ controller.send("resource_url", :page => 1)
342
+
343
+ # With args
344
+ controller.expects("polymorphic_url").with(['admin', house, :arg], {}).once
345
+ controller.send("resource_url", :arg)
346
+
347
+ controller.expects("edit_polymorphic_url").with(['admin', house, :arg], {}).once
348
+ controller.send("edit_resource_url", :arg)
349
+ end
350
+
305
351
  def test_url_helpers_on_nested_polymorphic_belongs_to
306
352
  house = House.new
307
353
  table = Table.new
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: josevalim-inherited_resources
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.3
4
+ version: 0.8.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - "Jos\xC3\xA9 Valim"
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-07-23 00:00:00 -07:00
12
+ date: 2009-07-24 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -60,7 +60,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
60
60
  version:
61
61
  requirements: []
62
62
 
63
- rubyforge_project:
63
+ rubyforge_project: inherited_resources
64
64
  rubygems_version: 1.2.0
65
65
  signing_key:
66
66
  specification_version: 3