i18n_rails_helpers 1.0.7 → 1.0.8
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.
- data/app/helpers/contextual_link_helpers.rb +33 -28
- data/lib/i18n_rails_helpers/version.rb +1 -1
- metadata +24 -43
@@ -29,7 +29,12 @@ module ContextualLinkHelpers
|
|
29
29
|
|
30
30
|
classes << "btn"
|
31
31
|
|
32
|
-
|
32
|
+
if action.is_a? Symbol
|
33
|
+
url ||= {:action => action}
|
34
|
+
title = t_action(action)
|
35
|
+
else
|
36
|
+
title = action
|
37
|
+
end
|
33
38
|
|
34
39
|
icon = options.delete(:icon)
|
35
40
|
icon ||= action
|
@@ -38,47 +43,47 @@ module ContextualLinkHelpers
|
|
38
43
|
classes << "btn-#{type}"
|
39
44
|
|
40
45
|
options.merge!(:class => classes.join(" "))
|
41
|
-
link_to(url_for(url), options) do
|
42
|
-
content_tag(:i, "", :class => "icon-#{action_to_icon(icon)}") + " " +
|
46
|
+
link_to(url_for(url), options) do
|
47
|
+
content_tag(:i, "", :class => "icon-#{action_to_icon(icon)}") + " " + title
|
43
48
|
end
|
44
49
|
end
|
45
|
-
|
50
|
+
|
46
51
|
def contextual_link_to(action, resource_or_model = nil, link_options = {})
|
47
52
|
# We don't want to change the passed in link_options
|
48
53
|
options = link_options.dup
|
49
54
|
|
50
55
|
# Handle both symbols and strings
|
51
|
-
action = action.
|
52
|
-
|
56
|
+
action = action.to_sym
|
57
|
+
|
53
58
|
# Resource and Model setup
|
54
59
|
# Use controller name to guess resource or model if not specified
|
55
60
|
case action
|
56
|
-
when
|
61
|
+
when :new, :index
|
57
62
|
model = resource_or_model || controller_name.singularize.camelize.constantize
|
58
|
-
when
|
63
|
+
when :show, :edit, :delete
|
59
64
|
resource = resource_or_model || instance_variable_get("@#{controller_name.singularize}")
|
60
65
|
model = resource.class
|
61
66
|
end
|
62
67
|
model_name = model.to_s.underscore
|
63
|
-
|
68
|
+
|
64
69
|
# No link if CanCan is used and current user isn't authorized to call this action
|
65
70
|
return if respond_to?(:cannot?) and cannot?(action.to_sym, model)
|
66
|
-
|
71
|
+
|
67
72
|
# Option generation
|
68
73
|
case action
|
69
|
-
when
|
74
|
+
when :delete
|
70
75
|
options.merge!(:confirm => t_confirm_delete(resource), :method => :delete)
|
71
76
|
end
|
72
77
|
|
73
78
|
# Path generation
|
74
79
|
case action
|
75
|
-
when
|
80
|
+
when :index
|
76
81
|
if model
|
77
82
|
path = polymorphic_path(model)
|
78
83
|
else
|
79
84
|
path = url_for(:action => nil)
|
80
85
|
end
|
81
|
-
when
|
86
|
+
when :show, :delete
|
82
87
|
if resource
|
83
88
|
path = polymorphic_path(resource)
|
84
89
|
else
|
@@ -94,31 +99,31 @@ module ContextualLinkHelpers
|
|
94
99
|
|
95
100
|
return icon_link_to(action, path, options)
|
96
101
|
end
|
97
|
-
|
102
|
+
|
98
103
|
def contextual_links_for(action = nil, resource_or_model = nil, options = {})
|
99
104
|
# Use current action if not specified
|
100
105
|
action ||= action_name
|
101
|
-
|
106
|
+
|
102
107
|
# Handle both symbols and strings
|
103
|
-
action = action.
|
104
|
-
|
108
|
+
action = action.to_sym
|
109
|
+
|
105
110
|
actions = []
|
106
111
|
case action
|
107
|
-
when
|
108
|
-
actions <<
|
109
|
-
when
|
110
|
-
actions += [
|
111
|
-
when
|
112
|
-
actions += [
|
113
|
-
when
|
114
|
-
actions <<
|
112
|
+
when :new, :create
|
113
|
+
actions << :index
|
114
|
+
when :show
|
115
|
+
actions += [:edit, :delete, :index]
|
116
|
+
when :edit, :update
|
117
|
+
actions += [:show, :delete, :index]
|
118
|
+
when :index
|
119
|
+
actions << :new
|
115
120
|
end
|
116
|
-
|
121
|
+
|
117
122
|
links = actions.map{|link_for| contextual_link_to(link_for, resource_or_model, options)}
|
118
|
-
|
123
|
+
|
119
124
|
return links.join("\n").html_safe
|
120
125
|
end
|
121
|
-
|
126
|
+
|
122
127
|
def contextual_links(action = nil, resource_or_model = nil, options = {})
|
123
128
|
content_tag('div', :class => 'contextual') do
|
124
129
|
contextual_links_for(action, resource_or_model, options)
|
metadata
CHANGED
@@ -1,33 +1,24 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: i18n_rails_helpers
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 0
|
9
|
-
- 7
|
10
|
-
version: 1.0.7
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.8
|
5
|
+
prerelease:
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
13
|
-
-
|
7
|
+
authors:
|
8
|
+
- Simon Hürlimann (CyT)
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
date: 2012-09-06 00:00:00 +02:00
|
19
|
-
default_executable:
|
12
|
+
date: 2013-02-12 00:00:00.000000000 Z
|
20
13
|
dependencies: []
|
21
|
-
|
22
|
-
|
14
|
+
description: Rails i18n view helpers for things like crud actions, models and and
|
15
|
+
attributes.
|
23
16
|
email: simon.huerlimann@cyt.ch
|
24
17
|
executables: []
|
25
|
-
|
26
18
|
extensions: []
|
27
|
-
|
28
|
-
extra_rdoc_files:
|
19
|
+
extra_rdoc_files:
|
29
20
|
- README.markdown
|
30
|
-
files:
|
21
|
+
files:
|
31
22
|
- app/helpers/contextual_link_helpers.rb
|
32
23
|
- app/helpers/i18n_helpers.rb
|
33
24
|
- app/helpers/list_link_helpers.rb
|
@@ -38,39 +29,29 @@ files:
|
|
38
29
|
- lib/i18n_rails_helpers/version.rb
|
39
30
|
- rails/init.rb
|
40
31
|
- README.markdown
|
41
|
-
has_rdoc: true
|
42
32
|
homepage: https://github.com/huerlisi/i18n_rails_helpers
|
43
33
|
licenses: []
|
44
|
-
|
45
34
|
post_install_message:
|
46
35
|
rdoc_options: []
|
47
|
-
|
48
|
-
require_paths:
|
36
|
+
require_paths:
|
49
37
|
- lib
|
50
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
38
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
51
39
|
none: false
|
52
|
-
requirements:
|
53
|
-
- -
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
|
56
|
-
|
57
|
-
- 0
|
58
|
-
version: "0"
|
59
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
60
45
|
none: false
|
61
|
-
requirements:
|
62
|
-
- -
|
63
|
-
- !ruby/object:Gem::Version
|
64
|
-
|
65
|
-
segments:
|
66
|
-
- 0
|
67
|
-
version: "0"
|
46
|
+
requirements:
|
47
|
+
- - ! '>='
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '0'
|
68
50
|
requirements: []
|
69
|
-
|
70
51
|
rubyforge_project:
|
71
|
-
rubygems_version: 1.
|
52
|
+
rubygems_version: 1.8.23
|
72
53
|
signing_key:
|
73
54
|
specification_version: 3
|
74
55
|
summary: I18n Rails helpers
|
75
56
|
test_files: []
|
76
|
-
|
57
|
+
has_rdoc:
|