inherited_resources_helpers 0.0.12 → 0.0.13
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.
@@ -12,13 +12,19 @@ module InheritedResources
|
|
12
12
|
Base.class_eval do
|
13
13
|
class << self
|
14
14
|
def inherited_with_helpers(base)
|
15
|
+
inherited_without_helpers(base)
|
15
16
|
base.send :include, Helpers::Resources
|
16
17
|
base.send :include, Helpers::ResourcesUrlFor
|
17
18
|
base.send :include, Helpers::Accessors
|
18
|
-
inherited_without_helpers(base)
|
19
19
|
end
|
20
20
|
alias_method_chain :inherited, :helpers # TODO ugh.
|
21
21
|
end
|
22
22
|
end
|
23
|
+
|
24
|
+
UrlHelpers.module_eval do
|
25
|
+
def generate_url_and_path_helpers(prefix, name, resource_segments, resource_ivars)
|
26
|
+
# FIXME ... we define our own helpers for now, should merge with inherited_resources.
|
27
|
+
end
|
28
|
+
end
|
23
29
|
end
|
24
30
|
|
@@ -27,23 +27,29 @@ module InheritedResources
|
|
27
27
|
super(*resources)
|
28
28
|
end
|
29
29
|
|
30
|
-
def
|
31
|
-
|
30
|
+
def index_parent_url(*resources)
|
31
|
+
resources = normalize_parent_resources_for_url(resources) { parent_resources[0..-2] << parent_resources.last.class.base_class }
|
32
|
+
polymorphic_url(*resources)
|
32
33
|
end
|
33
34
|
|
34
|
-
def
|
35
|
-
|
35
|
+
def new_parent_url(*resources)
|
36
|
+
resources, options = *normalize_parent_resources_for_url(resources) { parent_resources[0..-2] << parent_resources.last.class.name.underscore }
|
37
|
+
resources.unshift(:new)
|
38
|
+
polymorphic_url(resources, options)
|
36
39
|
end
|
37
40
|
|
38
|
-
def
|
39
|
-
|
41
|
+
def show_parent_url(*resources)
|
42
|
+
resources = normalize_parent_resources_for_url(resources) { parent_resources }
|
43
|
+
polymorphic_url(*resources)
|
40
44
|
end
|
41
45
|
|
42
|
-
def
|
43
|
-
|
46
|
+
def edit_parent_url(*resources)
|
47
|
+
resources, options = normalize_parent_resources_for_url(resources) { parent_resources }
|
48
|
+
resources.unshift(:edit)
|
49
|
+
polymorphic_url(resources, options)
|
44
50
|
end
|
45
51
|
|
46
|
-
[:
|
52
|
+
[:index_parent, :new_parent, :show_parent, :edit_parent].each do |action|
|
47
53
|
define_method(:"#{action}_path") do |*args|
|
48
54
|
send(:"#{action}_url", *args << args.extract_options!.reverse_merge(:routing_type => :path))
|
49
55
|
end
|
@@ -58,12 +64,6 @@ module InheritedResources
|
|
58
64
|
alias :destroy_url :show_url
|
59
65
|
alias :destroy_path :show_path
|
60
66
|
|
61
|
-
alias :parent_resources_url :parent_index_url
|
62
|
-
alias :parent_resources_path :parent_index_path
|
63
|
-
|
64
|
-
alias :parent_resource_url :parent_show_url
|
65
|
-
alias :parent_resource_path :parent_show_path
|
66
|
-
|
67
67
|
protected
|
68
68
|
|
69
69
|
def normalize_resources_for_url(args, &default)
|
@@ -79,6 +79,20 @@ module InheritedResources
|
|
79
79
|
end
|
80
80
|
[args, options]
|
81
81
|
end
|
82
|
+
|
83
|
+
def normalize_parent_resources_for_url(args, &default)
|
84
|
+
options = args.extract_options!
|
85
|
+
args = if args.empty?
|
86
|
+
default.call
|
87
|
+
elsif args.first.is_a?(Array)
|
88
|
+
args.first
|
89
|
+
else
|
90
|
+
resources = self.parent_resources.dup
|
91
|
+
resources.pop if resources.last.new_record?
|
92
|
+
resources + args
|
93
|
+
end
|
94
|
+
[args, options]
|
95
|
+
end
|
82
96
|
end
|
83
97
|
end
|
84
98
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: inherited_resources_helpers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 5
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 13
|
10
|
+
version: 0.0.13
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Sven Fuchs
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-10-
|
18
|
+
date: 2010-10-21 00:00:00 +02:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -33,7 +33,7 @@ dependencies:
|
|
33
33
|
type: :development
|
34
34
|
version_requirements: *id001
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
|
-
name:
|
36
|
+
name: activesupport
|
37
37
|
prerelease: false
|
38
38
|
requirement: &id002 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
@@ -47,7 +47,7 @@ dependencies:
|
|
47
47
|
type: :development
|
48
48
|
version_requirements: *id002
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
|
-
name:
|
50
|
+
name: activerecord
|
51
51
|
prerelease: false
|
52
52
|
requirement: &id003 !ruby/object:Gem::Requirement
|
53
53
|
none: false
|
@@ -61,7 +61,7 @@ dependencies:
|
|
61
61
|
type: :development
|
62
62
|
version_requirements: *id003
|
63
63
|
- !ruby/object:Gem::Dependency
|
64
|
-
name:
|
64
|
+
name: actionpack
|
65
65
|
prerelease: false
|
66
66
|
requirement: &id004 !ruby/object:Gem::Requirement
|
67
67
|
none: false
|
@@ -116,6 +116,20 @@ dependencies:
|
|
116
116
|
version: "0"
|
117
117
|
type: :development
|
118
118
|
version_requirements: *id007
|
119
|
+
- !ruby/object:Gem::Dependency
|
120
|
+
name: sqlite3-ruby
|
121
|
+
prerelease: false
|
122
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
123
|
+
none: false
|
124
|
+
requirements:
|
125
|
+
- - ">="
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
hash: 3
|
128
|
+
segments:
|
129
|
+
- 0
|
130
|
+
version: "0"
|
131
|
+
type: :development
|
132
|
+
version_requirements: *id008
|
119
133
|
description: "[description]"
|
120
134
|
email: svenfuchs@artweb-design.de
|
121
135
|
executables: []
|