five-two-nw-olivander 0.1.2.10 → 0.1.2.12

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: 27eeceb116bacdfc914171167f209c9b09305a164e271ad5894fbc1ad78e0e1e
4
- data.tar.gz: 4ef6d96a61a6ff296259441091813d1e7b9f513e11d47d2dd1cde96cc4faa4be
3
+ metadata.gz: 95371b71e1db9de5a935b1ecf9834a1b802a5a71c8960bd876a0c6e22ed849e5
4
+ data.tar.gz: f336a7acda0c1918f4a4a7d0dfdd672e4bdf6d68464172046b49539a27b573ef
5
5
  SHA512:
6
- metadata.gz: ed49ba1c5d32c9ab8ef88bfdad416342cf80dd0eda3a0e1600db2e0c38bc5f97c6bdb8a929270ffa2d79768589719ba337a1f761e4cda5af64c939dfc0f24c75
7
- data.tar.gz: f6717a1d889709cdb655d5b848e8a84aa7c1cfa62ecb112ce159835980ced10ecd332d8413a627af642207a8ef69059ad206ed3271c0e025f7779223af21db3f
6
+ metadata.gz: 6eaa2e44f71c887a9879f76a8516c509b27579ae6e5597fcccdca9f92947ef6ecf14b18a0386e19f6cb04732c7ad05b19b5d1f65464937e56deb7b3037f42967
7
+ data.tar.gz: a5123ae21498c52619c763866f930b40465efb1387010a71d92abdb7dea67d7664725f530d4d46e4adb6b86fd9ae0342a0f996a64bfcbcbd1612c8479105707b
@@ -15,22 +15,28 @@ module Olivander
15
15
  end
16
16
  end
17
17
 
18
- def self.auto_datatable(klazz, link_path: nil, only: [])
18
+ def self.auto_datatable(klazz, link_path: nil, only: [], except: [], hide: [], show: [])
19
+ Rails.logger.debug "initializing datatable for #{klazz}"
20
+
21
+ attributes = klazz.new.attributes.collect{ |x| x[0] }
22
+ attributes &&= only if only.size.positive?
23
+ attributes -= except if except.size.positive?
24
+
25
+ default_hidden = %w[id created updated created_at updated_at deleted_at current_user current_action]
26
+
19
27
  collection do
20
28
  klazz.all
21
29
  end
22
30
 
23
31
  datatable do
24
32
  bulk_actions_col
25
- klazz.new.attributes.each do |att|
26
- key = att[0]
27
- next if only.size.positive? && !only.include?(key)
33
+ attributes.each do |key|
28
34
  sym = key.gsub('_id', '').to_sym
29
- visible = !['created', 'updated', 'created_at', 'updated_at', 'deleted_at', 'current_user', 'current_action'].include?(key)
35
+ visible = show.include?(key) || !(default_hidden.include?(key) || hide.include?(key))
30
36
  if link_path.present? && sym == :id
31
37
  link_col sym, link_path, :id
32
38
  elsif link_path.present? && sym == :name
33
- link_col sym, link_path, [:id, :name]
39
+ link_col sym, link_path, %i[id name]
34
40
  else
35
41
  col sym, visible: visible
36
42
  end
@@ -1,3 +1,3 @@
1
1
  module Olivander
2
- VERSION = "0.1.2.10"
2
+ VERSION = "0.1.2.12"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: five-two-nw-olivander
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2.10
4
+ version: 0.1.2.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Dennis