record_view_helper 1.2.0 → 1.3.3
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 +4 -4
- data/MIT-LICENSE +0 -0
- data/README.md +1 -3
- data/Rakefile +0 -0
- data/lib/record_view_helper.rb +0 -0
- data/lib/record_view_helper/config.rb +0 -0
- data/lib/record_view_helper/dl.rb +0 -0
- data/lib/record_view_helper/railtie.rb +0 -0
- data/lib/record_view_helper/record_value_setting.rb +7 -3
- data/lib/record_view_helper/table.rb +3 -3
- data/lib/record_view_helper/util.rb +3 -0
- data/lib/record_view_helper/version.rb +1 -1
- metadata +6 -119
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b0a473d88acc736e80f00ebd8626c352adcb9bf5000d5235598b6a20a3c76f5b
|
4
|
+
data.tar.gz: ccd6b08885774020968a02c675713d943bb25754c872b260e07b63e3342dc997
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bc17f2bc02def13840fa465210ea008d8f5269847a3df118f0cfcdcf0f4bad496d39b327b6263d767f65fefb0174f1136b3cb1364bd34b715e5c3c694ce590b6
|
7
|
+
data.tar.gz: 42eca523e5cd11613532050f4b0afc18c4187309027ebe04aaa35754f1732f5eb6f2a4ee32d997498acfc1078e68dce5d527dca9d61ce395e5781eff2315195b
|
data/MIT-LICENSE
CHANGED
File without changes
|
data/README.md
CHANGED
@@ -2,10 +2,8 @@
|
|
2
2
|
|
3
3
|
[](https://rubygems.org/gems/record_view_helper)
|
4
4
|
[](https://rubygems.org/gems/record_view_helper)
|
5
|
-
[](https://gemnasium.com/Narazaka/record_view_helper)
|
6
5
|
[](http://inch-ci.org/github/Narazaka/record_view_helper)
|
7
|
-
[](https://ci.appveyor.com/project/Narazaka/record-view-helper)
|
6
|
+
[](https://github.com/Narazaka/record_view_helper/actions?query=workflow:Ruby)
|
9
7
|
|
10
8
|
table builder and description list (dl) helper for Rails / ActiveModels
|
11
9
|
|
data/Rakefile
CHANGED
File without changes
|
data/lib/record_view_helper.rb
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -123,14 +123,18 @@ module RecordViewHelper
|
|
123
123
|
# set column link setting
|
124
124
|
# @param [Symbol] column target column
|
125
125
|
# @param [Symbol|Hash<Symbol|Array<Symbol|Array<Symbol>>>] link setting
|
126
|
+
# @yield [record] format function (optional)
|
127
|
+
# @yieldparam [Object] record record
|
128
|
+
# @yieldreturn [String] link uri string
|
126
129
|
# @return [void]
|
127
130
|
#
|
128
131
|
# @example
|
129
132
|
# = dl_for(record) do |s|
|
130
133
|
# - s.link :foo_id, :foo_path
|
131
134
|
# - s.link :id, foo_bar_path: [:foo_id, :id]
|
132
|
-
|
133
|
-
|
135
|
+
# - s.link(:bar_id) {|record| baz_path(record.bar_id) }
|
136
|
+
def link(column, link = nil, &block)
|
137
|
+
@links[column] = block_given? ? block : link
|
134
138
|
end
|
135
139
|
|
136
140
|
# set column value dom tag attrs
|
@@ -178,7 +182,7 @@ module RecordViewHelper
|
|
178
182
|
# calculated columns
|
179
183
|
# @return [Array<Symbol>] (only || default columns) - except
|
180
184
|
def columns
|
181
|
-
(@only.presence || @columns).map(&:to_sym)
|
185
|
+
(@only.presence || @columns).map(&:to_sym) - @except.map(&:to_sym)
|
182
186
|
end
|
183
187
|
end
|
184
188
|
end
|
@@ -55,10 +55,10 @@ module RecordViewHelper
|
|
55
55
|
# - s.only :id, :name
|
56
56
|
# / recommended for complex settings
|
57
57
|
# / see RecordValueSetting for details
|
58
|
-
def table_for(records, options = {}) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
58
|
+
def table_for(records, options = {}) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Metrics/PerceivedComplexity
|
59
59
|
setting = RecordValueSetting.build_from_hash!(
|
60
60
|
records.try(:klass).try(:column_names) || records.first.try(:attributes).try(:keys) || records.first.try(:keys) || [],
|
61
|
-
records.first.try(:class).try(:name).try(:tableize),
|
61
|
+
(records.try(:klass) || records.first.try(:class)).try(:name).try(:tableize),
|
62
62
|
options,
|
63
63
|
)
|
64
64
|
yield setting if block_given?
|
@@ -71,7 +71,7 @@ module RecordViewHelper
|
|
71
71
|
"tr",
|
72
72
|
safe_join(
|
73
73
|
setting.columns.map do |column|
|
74
|
-
content_tag("th", record_view_helper_t(records.first.class, column), setting.header_attrs[column])
|
74
|
+
content_tag("th", record_view_helper_t(records.try(:klass) || records.first.class, column), setting.header_attrs[column])
|
75
75
|
end,
|
76
76
|
),
|
77
77
|
),
|
@@ -35,6 +35,9 @@ module RecordViewHelper
|
|
35
35
|
when Hash
|
36
36
|
path_method, param_columns = link.first
|
37
37
|
link_record_value(record, formatted_value, path_method, param_columns)
|
38
|
+
when Proc
|
39
|
+
link_uri = link.call(record)
|
40
|
+
link_uri ? link_to(formatted_value, link_uri) : formatted_value
|
38
41
|
else
|
39
42
|
formatted_value
|
40
43
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: record_view_helper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Narazaka
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionview
|
@@ -38,118 +38,6 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: bundler
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: onkcop
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: rails
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '4'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '4'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: rake
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - ">="
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - ">="
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: rspec
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ">="
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: rspec-rails
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - "~>"
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '3'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - "~>"
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '3'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: simplecov
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - ">="
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - ">="
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: yard
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - ">="
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '0'
|
146
|
-
type: :development
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - ">="
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '0'
|
153
41
|
description: This module provides table_for(model) and dl_for(model) helpers.
|
154
42
|
email:
|
155
43
|
- info@narazaka.net
|
@@ -173,7 +61,7 @@ licenses:
|
|
173
61
|
- MIT
|
174
62
|
metadata:
|
175
63
|
yard.run: yri
|
176
|
-
post_install_message:
|
64
|
+
post_install_message:
|
177
65
|
rdoc_options: []
|
178
66
|
require_paths:
|
179
67
|
- lib
|
@@ -188,9 +76,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
188
76
|
- !ruby/object:Gem::Version
|
189
77
|
version: '0'
|
190
78
|
requirements: []
|
191
|
-
|
192
|
-
|
193
|
-
signing_key:
|
79
|
+
rubygems_version: 3.2.3
|
80
|
+
signing_key:
|
194
81
|
specification_version: 4
|
195
82
|
summary: table builder and description list (dl) helper for Rails / ActiveModels
|
196
83
|
test_files: []
|