five-two-nw-olivander 0.1.2.9 → 0.1.2.11

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: fc69d4b0848ea3d6e276d7c33cc5e49253e0d64d445ddb9c52ff1cec00500146
4
- data.tar.gz: 6766318fbe64b58331f74edb4d15da65668a0aa1297f36a270c8b6b9375c6dea
3
+ metadata.gz: 646461db1504efbb35c466f41a39995598c41af6379f0c4e774604df8fe06751
4
+ data.tar.gz: 87e8135af0ceb0082d12413cd37b81aab648140ab485f5fb3ed2b0a208061c43
5
5
  SHA512:
6
- metadata.gz: 59468f6362a5d73ec69a2dab5db00bb946af8e729e9b200712ac899752376fcf486e14bd723a1994f71b12a12d48f832f391f3871d1f6b49f3620c9ce7b5aca8
7
- data.tar.gz: 8c4c084d77191c91be63cbc055d1b0358cdfd182070201bb5068dba66ddbf7531e21b3504e1d28a7001cd1d31c8ba1e42509cb760df81fbeaeb9077feea4999c
6
+ metadata.gz: 8d531d6cca6f76ee6fc63b5cff0cee413b65b2af44f2e61c4a49875e5b513303b7be40ffed8f9580c54a59934d5196bc64cf5bf947490912f42e36354cb88e11
7
+ data.tar.gz: b010327c42b8b6d5fe4b54d8d7b5e8a327922bb31c0ab3fef168033dec98a654b9a46a91a15ff2d3221f67798172494c9d626a879d067f617bc77a0c7c196eca
@@ -15,22 +15,31 @@ 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.select{ |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
32
+ puts 'and also too'
24
33
  bulk_actions_col
25
- klazz.new.attributes.each do |att|
26
- key = att[0]
27
- next if only.size.positive? && !only.include?(key)
34
+ attributes.each do |key|
35
+ puts "handling key: #{key}"
36
+
28
37
  sym = key.gsub('_id', '').to_sym
29
- visible = !['created', 'updated', 'created_at', 'updated_at', 'deleted_at', 'current_user', 'current_action'].include?(key)
38
+ visible = show.include?(key) || !(default_hidden.include?(key) || hide.include?(key))
30
39
  if link_path.present? && sym == :id
31
40
  link_col sym, link_path, :id
32
41
  elsif link_path.present? && sym == :name
33
- link_col sym, link_path, [:id, :name]
42
+ link_col sym, link_path, %i[id name]
34
43
  else
35
44
  col sym, visible: visible
36
45
  end
@@ -1,3 +1,3 @@
1
1
  module Olivander
2
- VERSION = "0.1.2.9"
2
+ VERSION = "0.1.2.11"
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.9
4
+ version: 0.1.2.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Dennis
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: devise
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '4.8'
33
+ version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '4.8'
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: effective_datatables
43
43
  requirement: !ruby/object:Gem::Requirement