paper_trail-association_tracking 2.1.1 → 2.1.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: 1c44254220614ad32a3f634a83c4c3a0d8e3c5aa5dd76521f09f702d03d0be1c
4
- data.tar.gz: 9434f7aa8c162a2117d7c33890bdbd2df93729a343073e67ebc024537ee773ca
3
+ metadata.gz: 51f0ba0d9f3c256f374002822d5f7e88444b6be465dd2189c8107d90160ed457
4
+ data.tar.gz: 046c163be73401cc97d593b48fc8a6fb91e09480303c6ab00df3f7818fc25ddd
5
5
  SHA512:
6
- metadata.gz: f5ee8734919969546148c2cb12add0ef77a6e0e0acec5137713974babdc05bb80be5d7321e41b636c74d3b3d4a3463d8e42ddc6b1d5d02f0affed0de0a024fc6
7
- data.tar.gz: 3205666624b7f94acecca6dc56757e971ba1382b80bb9762c818f7f7935063adebb36e2ab8d3d3d0cb8216b6276042e7eda7f84658cb5e7d696242798503a3b7
6
+ metadata.gz: d0e720740047a827254138caa7d8019d2ca29f5a4ee1a53fd7cc51f93d8a04998f2c8f661415840bc379f4196673347e35656f18fc2c70d14809fd47b9532f6b
7
+ data.tar.gz: dd3e7ecc22c067f5f60fe0fd1d21a7997bb91e62ed39955ac2a337cce83071617d93c2f49ec70f0a6de96c37efe6625041a4b0e3e2c57739c7b2ef30bbe135c9
data/CHANGELOG.md CHANGED
@@ -4,6 +4,15 @@
4
4
 
5
5
  - Nothing yet
6
6
 
7
+ ### 2.1.3 - [View Diff](https://github.com/westonganger/paper_trail-association_tracking/compare/v2.1.1...v2.1.3)
8
+
9
+ - [PR #24](https://github.com/westonganger/paper_trail-association_tracking/pull/24) - Fix reification on STI models that have parent child relationships
10
+ - Last version that is compatible with `paper_trail` due to the change in the loading mechanism
11
+
12
+ ### 2.1.2
13
+
14
+ - Release yanked, had bug preventing installation
15
+
7
16
  ### 2.1.1 - 2020-10-21 - [View Diff](https://github.com/westonganger/paper_trail-association_tracking/compare/v2.1.0...v2.1.1)
8
17
 
9
18
  - Bug fix for reify on `has_many :through` relationships when `:source` is specified
@@ -94,12 +94,18 @@ module PaperTrailAssociationTracking
94
94
  # from the point in time identified by `tx_id` or `version_at`.
95
95
  # @api private
96
96
  def load_versions_for_hm_association(assoc, model, version_table, tx_id, version_at)
97
+ # For STI models, associations may be defined to reference superclasses, so looking up
98
+ # based on only the child-most class is not appropriate.
99
+ sti_model_names = model.class.ancestors
100
+ .select { |x| x <= model.class.base_class && x.method_defined?(assoc.name) }
101
+ .map(&:name)
102
+
97
103
  version_ids = ::PaperTrail::VersionAssociation.
98
104
  joins(model.class.version_association_name).
99
105
  select("MIN(version_id) as version_id").
100
106
  where("foreign_key_name = ?", assoc.foreign_key).
101
107
  where("foreign_key_id = ?", model.id).
102
- where(foreign_type: [model.class.name, nil]).
108
+ where(foreign_type: sti_model_names + [nil]).
103
109
  where("#{version_table}.item_type = ?", assoc.klass.base_class.name).
104
110
  where("created_at >= ? OR transaction_id = ?", version_at, tx_id).
105
111
  group("item_id").
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PaperTrailAssociationTracking
4
- VERSION = "2.1.1".freeze
4
+ VERSION = "2.1.3".freeze
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paper_trail-association_tracking
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 2.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Weston Ganger
@@ -10,8 +10,22 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2020-10-22 00:00:00.000000000 Z
13
+ date: 2021-04-20 00:00:00.000000000 Z
14
14
  dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: paper_trail
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: '12.0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - "<"
27
+ - !ruby/object:Gem::Version
28
+ version: '12.0'
15
29
  - !ruby/object:Gem::Dependency
16
30
  name: appraisal
17
31
  requirement: !ruby/object:Gem::Requirement