iquest-simple_table 0.3.5 → 0.3.6
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9605388d187db1edcbc45d873ce710cbe8ae4c0b
|
4
|
+
data.tar.gz: 739f74b35c801f11e41f95ad1083f37fea20f360
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1d61e21c206fbfab19317fad3d67c681dc284813815615db37cf8e0635cd99c5e4701a0b90b39499d33c047c4900ee6c092dfef17961ea749a5be4d35a2bcd7c
|
7
|
+
data.tar.gz: 8fa682beeef5041e90fb3e73e787833f0bb79108f0dacf048aba5528ef1a303fc4aae5830e63691fd8649167254b6bc60a023d76e93ccdc2dd97471ed5c403ac
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Iquest
|
2
|
+
module SimpleTable
|
3
|
+
module AttributeDescription
|
4
|
+
|
5
|
+
def human_attribute_description(attribute, options = {})
|
6
|
+
parts = attribute.to_s.split(".")
|
7
|
+
attribute = parts.pop
|
8
|
+
namespace = parts.join("/") unless parts.empty?
|
9
|
+
attributes_scope = "#{self.i18n_scope}.descriptions"
|
10
|
+
|
11
|
+
if namespace
|
12
|
+
defaults = lookup_ancestors.map do |klass|
|
13
|
+
:"#{attributes_scope}.#{klass.model_name.i18n_key}/#{namespace}.#{attribute}"
|
14
|
+
end
|
15
|
+
defaults << :"#{attributes_scope}.#{namespace}.#{attribute}"
|
16
|
+
else
|
17
|
+
defaults = lookup_ancestors.map do |klass|
|
18
|
+
:"#{attributes_scope}.#{klass.model_name.i18n_key}.#{attribute}"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
defaults << options.delete(:default) if options[:default]
|
23
|
+
|
24
|
+
options[:default] = ''
|
25
|
+
I18n.translate(defaults.shift, options)
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -227,9 +227,10 @@ module Iquest
|
|
227
227
|
sort_attr = sort
|
228
228
|
end
|
229
229
|
sort_options.reverse_merge!(method: search_action)
|
230
|
-
sort_link(@search, sort_attr, label, sort_options)
|
230
|
+
sort_link(@search, sort_attr, label, sort_options) << description(attr)
|
231
231
|
else
|
232
|
-
label
|
232
|
+
label << description(attr)
|
233
|
+
label.html_safe
|
233
234
|
end
|
234
235
|
end
|
235
236
|
|
@@ -337,12 +338,23 @@ module Iquest
|
|
337
338
|
if attr_class(attr).respond_to?(:human_attribute_name)
|
338
339
|
attr_class(attr).try(:human_attribute_name, attr)
|
339
340
|
elsif @search
|
340
|
-
|
341
|
+
Ransack::Translate.attribute(attr.to_s.tr('.','_'), context: @search.context)
|
341
342
|
else
|
342
343
|
attr.to_s.humanize
|
343
|
-
end
|
344
|
+
end
|
344
345
|
end
|
345
346
|
|
347
|
+
def description(attr)
|
348
|
+
if attr_class(attr).respond_to?(:human_attribute_description)
|
349
|
+
description = attr_class(attr).try(:human_attribute_description, attr)
|
350
|
+
end
|
351
|
+
if description.present?
|
352
|
+
"<div class=\"description\">#{description}</div>".html_safe
|
353
|
+
else
|
354
|
+
"".html_safe
|
355
|
+
end
|
356
|
+
end
|
357
|
+
|
346
358
|
def attr_class(attr)
|
347
359
|
attr.to_s.split('.')[0..-2].inject(@klass) {|klass, assoc| klass.try(:reflect_on_association, assoc).try(:klass)}
|
348
360
|
end
|
data/lib/iquest/simple_table.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require "iquest/simple_table/version"
|
2
2
|
require "iquest/simple_table/table_builder"
|
3
3
|
require "iquest/simple_table/table_helper"
|
4
|
+
require "iquest/simple_table/attribute_description"
|
4
5
|
|
5
6
|
module Iquest
|
6
7
|
module SimpleTable
|
@@ -9,4 +10,4 @@ module Iquest
|
|
9
10
|
end
|
10
11
|
|
11
12
|
ActionController::Base.helper Iquest::SimpleTable::TableHelper
|
12
|
-
|
13
|
+
ActiveRecord::Base.extend Iquest::SimpleTable::AttributeDescription
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: iquest-simple_table
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pavel Dusanek
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-07-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ransack_simple_form
|
@@ -68,6 +68,7 @@ files:
|
|
68
68
|
- config/locale/en.yml
|
69
69
|
- iquest-simple_table.gemspec
|
70
70
|
- lib/iquest/simple_table.rb
|
71
|
+
- lib/iquest/simple_table/attribute_description.rb
|
71
72
|
- lib/iquest/simple_table/table_builder.rb
|
72
73
|
- lib/iquest/simple_table/table_helper.rb
|
73
74
|
- lib/iquest/simple_table/version.rb
|