index_for 0.0.3 → 0.0.4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5201f828b842ddaac961004a256ed963fa357c5f
4
- data.tar.gz: d1aa9988355935416b80bf99d94f317b114a6693
3
+ metadata.gz: 13d5d4c08ba3353a7bc7819f29ba79605d504e67
4
+ data.tar.gz: b734be697669314df6d431ec668b4b92d74609aa
5
5
  SHA512:
6
- metadata.gz: f8a8d66ac7b1278263c5765c34614892ed25db8d2512d3e91434053f03bb20818f854502472dc036ac062e3c5f9490943aef07954ac9595a1b484f7c03cbec77
7
- data.tar.gz: bd1c4defc9f373abd0165d82b04856b18dcf9d3238f3e1a6fba302b53a71457342cad11fee6f7284009e03ad5a7fa42981266ed12a0bba4c7c3f574120b09eea
6
+ metadata.gz: 9b5dd6b17a31a490ea2532cae86e1710467ae4996eefefe2a91e366c583914a1265ed9aef7a2ab39364932cbd3d765d06d06b37a770a606639094a16283c8fbc
7
+ data.tar.gz: efb127700ee84536d80c6d6390146fbfec3826cc306d175825460db60111aee086c19d3f6f7b14c083c72880de6b055e3f114237182e9684f0d30d1303eb98d2
@@ -7,25 +7,26 @@ module IndexFor
7
7
  if block
8
8
  @template.capture(@object, &block)
9
9
  else
10
- action_title = translate(:"actions.#{action_name}",
10
+ object = @html_options[:namespace] ? @html_options[:namespace].clone.push(@object) : @object
11
+ action_title = translate(:"actions.#{action_name}",
11
12
  default: action_name.to_s.humanize).html_safe
12
13
  action_html_options = apply_html_options :action_link, options[:html] || {}
13
14
  append_class action_html_options, :"action_#{action_name}"
14
15
 
15
16
  case action_name
16
17
  when :show
17
- @template.link_to action_title, @template.polymorphic_path(@object),
18
+ @template.link_to action_title, @template.polymorphic_path(object),
18
19
  action_html_options
19
20
  when :destroy
20
- @template.link_to action_title, @template.polymorphic_path(@object),
21
+ @template.link_to action_title, @template.polymorphic_path(object),
21
22
  { data: { method: :destroy, confirm: translate(:"actions.confirmation")
22
23
  }}.merge(action_html_options)
23
24
  else
24
- @template.link_to action_title, @template.polymorphic_path(@object,
25
+ @template.link_to action_title, @template.polymorphic_path(object,
25
26
  action: action_name), action_html_options
26
27
  end
27
28
  end
28
29
  end
29
30
 
30
31
  end
31
- end
32
+ end
@@ -5,19 +5,20 @@ module IndexFor
5
5
 
6
6
  def attribute attribute_name, options = {}, &block
7
7
  append_html_class options, :"attr_#{attribute_name}"
8
- wrap_content_with :table_body_cell, attribute_value(attribute_name,
8
+ wrap_content_with :table_body_cell, attribute_value(attribute_name,
9
9
  options), options, &block
10
10
  end
11
11
 
12
12
  def actions *action_names, &block
13
13
  options = action_names.extract_options!
14
14
  options[:html] = apply_html_options :table_actions_cell, options
15
+ options[:namespace] = @html_options[:namespace]
15
16
 
16
- content = @template.index_for_actions @object, *action_names,
17
+ content = @template.index_for_actions @object, *action_names,
17
18
  options, &block
18
19
 
19
20
  wrap_with :table_body_cell, content, options
20
21
  end
21
22
 
22
23
  end
23
- end
24
+ end
@@ -16,6 +16,14 @@ module IndexFor
16
16
 
17
17
  tag = html_options[:table_tag] || IndexFor.table_tag
18
18
 
19
+ if objects.is_a?(Array) &&
20
+ objects.find do |o|
21
+ !o.is_a?(Symbol) && !o.is_a?(String) && !o.is_a?(ActiveRecord::Base)
22
+ end == objects.last
23
+ html_options[:namespace] = objects
24
+ objects = objects.pop
25
+ end
26
+
19
27
  klass = html_options[:klass] || objects.try(:klass) || objects.first.class
20
28
 
21
29
  html_options[:id] ||= index_for_id(klass)
@@ -44,7 +52,7 @@ module IndexFor
44
52
  action_names = [:show, :edit, :destroy] if action_names == [:all]
45
53
 
46
54
  builder = IndexFor::ActionBuilder.new(object, html_options, self)
47
-
55
+
48
56
  content = capture(builder) do |a|
49
57
  action_names.map do |action_name|
50
58
  a.action_link action_name
@@ -137,4 +145,4 @@ module IndexFor
137
145
  end
138
146
  end
139
147
 
140
- ActionView::Base.send :include, IndexFor::Helper
148
+ ActionView::Base.send :include, IndexFor::Helper
@@ -1,3 +1,3 @@
1
1
  module IndexFor
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: index_for
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Theo