i18n_rails_helpers 1.2.0 → 1.3.0

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.
@@ -48,9 +48,11 @@ module ContextualLinkHelpers
48
48
  end
49
49
  end
50
50
 
51
- def contextual_link_to(action, resource_or_model = nil, link_options = {})
52
- # We don't want to change the passed in link_options
53
- options = link_options.dup
51
+ def contextual_link_to(action, options = {})
52
+ # We don't want to change the passed in options
53
+ options = options.dup
54
+
55
+ resource_or_model = options.delete(:resource) || options.delete(:model)
54
56
 
55
57
  # Handle both symbols and strings
56
58
  action = action.to_sym
@@ -104,7 +106,9 @@ module ContextualLinkHelpers
104
106
  return icon_link_to(action, path, options)
105
107
  end
106
108
 
107
- def contextual_links_for(action = nil, resource_or_model = nil, options = {})
109
+ def contextual_links_for(options = {})
110
+ action = options.delete(:action)
111
+
108
112
  # Use current action if not specified
109
113
  action ||= action_name
110
114
 
@@ -123,14 +127,14 @@ module ContextualLinkHelpers
123
127
  actions << :new
124
128
  end
125
129
 
126
- links = actions.map{|link_for| contextual_link_to(link_for, resource_or_model, options)}
130
+ links = actions.map{|link_for| contextual_link_to(link_for, options)}
127
131
 
128
132
  return links.join("\n").html_safe
129
133
  end
130
134
 
131
- def contextual_links(action = nil, resource_or_model = nil, options = {}, &block)
135
+ def contextual_links(options = {}, &block)
132
136
  content_tag('div', :class => I18nRailsHelpers.contextual_class) do
133
- content = contextual_links_for(action, resource_or_model, options)
137
+ content = contextual_links_for(options)
134
138
  if block_given?
135
139
  additional_content = capture(&block)
136
140
  content += ("\n" + additional_content).html_safe
@@ -1,15 +1,44 @@
1
1
  module ListLinkHelpers
2
+ def action_to_icon(action)
3
+ case action.to_s
4
+ when 'new'
5
+ "plus"
6
+ when 'show'
7
+ "eye-open"
8
+ when 'edit'
9
+ "edit"
10
+ when 'delete'
11
+ "trash"
12
+ when "index", "list"
13
+ "list-alt"
14
+ when "update"
15
+ "refresh"
16
+ when "copy"
17
+ "repeat"
18
+ else
19
+ action
20
+ end
21
+ end
22
+
2
23
  # List link helpers
3
24
  def list_link_to(action, url, options = {})
4
- options.merge!(:class => "icon-#{action}-text", :title => t_action(action))
5
-
6
- link_to(t_action(action), url, options)
25
+ classes = []
26
+ if class_options = options.delete(:class)
27
+ classes << class_options.split(' ')
28
+ end
29
+
30
+ icon = options.delete(:icon)
31
+ icon ||= action
32
+
33
+ link_to(url_for(url), options) do
34
+ content_tag(:i, "", :class => "icon-#{action_to_icon(icon)}")
35
+ end
7
36
  end
8
-
37
+
9
38
  def list_link_for(action, resource_or_model = nil, options = {})
10
39
  # Handle both symbols and strings
11
40
  action = action.to_s
12
-
41
+
13
42
  # Resource and Model setup
14
43
  # Support nested resources
15
44
  if resource_or_model.is_a? Array
@@ -17,7 +46,7 @@ module ListLinkHelpers
17
46
  else
18
47
  main_resource_or_model = resource_or_model
19
48
  end
20
-
49
+
21
50
  # Use controller name to guess resource or model if not specified
22
51
  case action
23
52
  when 'new', 'index'
@@ -27,10 +56,10 @@ module ListLinkHelpers
27
56
  model = resource.class
28
57
  end
29
58
  model_name = model.to_s.underscore
30
-
59
+
31
60
  # No link if CanCan is used and current user isn't authorized to call this action
32
61
  return if respond_to?(:can?) and cannot?(action.to_sym, model)
33
-
62
+
34
63
  # Link generation
35
64
  case action
36
65
  when 'index', 'show'
@@ -41,17 +70,17 @@ module ListLinkHelpers
41
70
  else
42
71
  path = polymorphic_path(resource_or_model, :action => action)
43
72
  end
44
-
73
+
45
74
  return list_link_to(action, path, options)
46
75
  end
47
-
76
+
48
77
  def list_links_for(action = nil, resource_or_model = nil)
49
78
  # Use current action if not specified
50
79
  action ||= action_name
51
-
80
+
52
81
  # Handle both symbols and strings
53
82
  action = action.to_s
54
-
83
+
55
84
  actions = []
56
85
  case action
57
86
  when 'new', 'create'
@@ -63,9 +92,9 @@ module ListLinkHelpers
63
92
  when 'index'
64
93
  actions << 'new'
65
94
  end
66
-
95
+
67
96
  links = actions.map{|link_for| contextual_link_to(link_for, resource_or_model)}
68
-
97
+
69
98
  return links.join("\n").html_safe
70
99
  end
71
100
  end
@@ -1,3 +1,3 @@
1
1
  module I18nRailsHelpers
2
- VERSION = "1.2.0"
2
+ VERSION = "1.3.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: i18n_rails_helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-03-11 00:00:00.000000000 Z
12
+ date: 2014-04-22 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Rails i18n view helpers for things like crud actions, models and and
15
15
  attributes.