record_view_helper 1.2.0 → 1.3.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4420c07571bd973a842e61399f37f2bb7952adb94e8d2357ebb4efae7c414bbe
4
- data.tar.gz: 0caed0c7ee861e30ee80458ae99c9f67c0c61f70187f4ef1e1e9d69ba6bdcb6b
3
+ metadata.gz: b0a473d88acc736e80f00ebd8626c352adcb9bf5000d5235598b6a20a3c76f5b
4
+ data.tar.gz: ccd6b08885774020968a02c675713d943bb25754c872b260e07b63e3342dc997
5
5
  SHA512:
6
- metadata.gz: ab18c5d000ca4f3db2eea7be853d681a3fbcdfd8889233615f5fb5c42eb6a20ada4933374971cb1936ea4e780545a23317bb6a6d587c5469fd030818ecc6a040
7
- data.tar.gz: ca8de4b08691838a187562233290a1b1d0621b202af3ab51c6f517389b1dda06a3250e4bc25bccdba3e57f857f57ac1e48daffb5f275949964bd0eeb25b5a716
6
+ metadata.gz: bc17f2bc02def13840fa465210ea008d8f5269847a3df118f0cfcdcf0f4bad496d39b327b6263d767f65fefb0174f1136b3cb1364bd34b715e5c3c694ce590b6
7
+ data.tar.gz: 42eca523e5cd11613532050f4b0afc18c4187309027ebe04aaa35754f1732f5eb6f2a4ee32d997498acfc1078e68dce5d527dca9d61ce395e5781eff2315195b
File without changes
data/README.md CHANGED
@@ -2,10 +2,8 @@
2
2
 
3
3
  [![Gem](https://img.shields.io/gem/v/record_view_helper.svg)](https://rubygems.org/gems/record_view_helper)
4
4
  [![Gem](https://img.shields.io/gem/dtv/record_view_helper.svg)](https://rubygems.org/gems/record_view_helper)
5
- [![Gemnasium](https://gemnasium.com/Narazaka/record_view_helper.svg)](https://gemnasium.com/Narazaka/record_view_helper)
6
5
  [![Inch CI](http://inch-ci.org/github/Narazaka/record_view_helper.svg)](http://inch-ci.org/github/Narazaka/record_view_helper)
7
- [![Travis Build Status](https://travis-ci.org/Narazaka/record_view_helper.svg)](https://travis-ci.org/Narazaka/record_view_helper)
8
- [![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/Narazaka/record_view_helper?svg=true)](https://ci.appveyor.com/project/Narazaka/record-view-helper)
6
+ [![Ruby](https://github.com/Narazaka/record_view_helper/workflows/Ruby/badge.svg)](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
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
- def link(column, link)
133
- @links[column] = link
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).without(*@except.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
@@ -1,4 +1,4 @@
1
1
  module RecordViewHelper
2
2
  # version
3
- VERSION = "1.2.0".freeze
3
+ VERSION = "1.3.3".freeze
4
4
  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.2.0
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: 2018-09-13 00:00:00.000000000 Z
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
- rubyforge_project:
192
- rubygems_version: 2.7.3
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: []