effective_datatables 3.1.3 → 3.2

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
  SHA1:
3
- metadata.gz: a4081fbe7767fc0dc7e6142ee15630d12f50b237
4
- data.tar.gz: ba5f35b8180b134ce4b567f41acb689f119d3402
3
+ metadata.gz: b2fd403395ba41023758912f2316bd3550ce87b0
4
+ data.tar.gz: da929e087db2cdf263b1c5f85c1e9304b834acfa
5
5
  SHA512:
6
- metadata.gz: d1c9af4a05da6623271d70a10cbcdc45580b889f345fc0896c51fdbaaba7506755b4043228d956cf3673e29b45a7f9aaa80ec4e3c0d4043f18441b9140df50b5
7
- data.tar.gz: f9436b7939c2a844b792214f4aa95d447445253fcba4b3354ae92957a1149324a8a0fc36381dac68a0422760cb800fd199c47d839ce9fac9043fca91a91628a6
6
+ metadata.gz: 398b32bf5d7d09c1fe70f60b2cc7a808ba9d0e3d3203027503b3c88d292e1ef35c3941393055f87b74e1f25cedf3be2aa9b733af90a782209a0227daf33efd3b
7
+ data.tar.gz: 2ceb4c659055f4de79ce573078f7a0bc054fdb67533d560bc44ea75c59cec4ebff4fefb2902b4000dc50f810a59243d2a944ac05f17128d487da0f0782f1fa70
@@ -78,6 +78,9 @@ module Effective
78
78
  # Figure out the class, and if it's activerecord, do all the resource discovery on it
79
79
  load_resource!
80
80
 
81
+ # If attributes match a belongs_to column, scope the collection and remove the column
82
+ apply_belongs_to_attributes!
83
+
81
84
  save_cookie!
82
85
  end
83
86
 
@@ -146,6 +146,24 @@ module Effective
146
146
  end
147
147
  end
148
148
  end
149
+
150
+ def apply_belongs_to_attributes!
151
+ return unless active_record_collection?
152
+
153
+ changed = attributes.any? do |attribute, value|
154
+ attribute = attribute.to_s
155
+ next unless attribute.ends_with?('_id')
156
+
157
+ associated = attribute.gsub(/_id\z/, '').to_sym # Replace last _id
158
+ next unless columns[associated] && columns[associated][:as] == :belongs_to
159
+
160
+ @_collection = @_collection.where(attribute => value)
161
+ columns.delete(associated)
162
+ end
163
+
164
+ columns.each_with_index { |(_, column), index| column[:index] = index } if changed
165
+ end
166
+
149
167
  end
150
168
  end
151
169
  end
@@ -1,3 +1,3 @@
1
1
  module EffectiveDatatables
2
- VERSION = '3.1.3'.freeze
2
+ VERSION = '3.2'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_datatables
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.3
4
+ version: '3.2'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-28 00:00:00.000000000 Z
11
+ date: 2017-09-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails