paper_trail 7.1.3 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4882c535d132836d08cb122573826e8325286d5e
4
- data.tar.gz: 629910ced4c4c38c6c2f6b5e1c695c2ca9c62057
3
+ metadata.gz: 91bf6fabed9a524ca3251a32df08bf75daaf8e59
4
+ data.tar.gz: 98c9208fcb6946ce58943ff3188ddee60f90a0de
5
5
  SHA512:
6
- metadata.gz: 042dfb1f7c98f3cb8e2fd153e28751282296e8e80a533a3f8a0afa06364c2bf6f7752b3500bd402b663d8b06acd574b8f8384a3cc2624f8633b7294398b416a9
7
- data.tar.gz: 20c950e1a32aead04e4baacfb9be6d2a2694f0eaf626f6111b456907eac4ae2b3f7f4f8f13dff18294504680fb88af0a46f2ed4a36808faf8fd741d2af2f4ee5
6
+ metadata.gz: f75fd7f32568e15f48194cbd099152f75d0e38bd3e3e5f173c16f20919ad3766f9ccfebb69203558946abcd48d1da017a80749c1c957093af589478fa187b2cb
7
+ data.tar.gz: b4916a9fae7ce82d73d98baefb6d63d41482c0e7dc090751b2ddf7543876a070782c16a233f1b89617932ec1fb92d9810995b67ab4196d7bff94ecc471e2f912
@@ -1,10 +1,7 @@
1
1
  module PaperTrail
2
2
  # Represents the "paper trail" for a single record.
3
3
  class RecordTrail
4
- # The respond_to? check here is specific to ActiveRecord 4.0 and can be
5
- # removed when support for ActiveRecord < 4.2 is dropped.
6
- RAILS_GTE_5_1 = ::ActiveRecord.respond_to?(:gem_version) &&
7
- ::ActiveRecord.gem_version >= ::Gem::Version.new("5.1.0.beta1")
4
+ RAILS_GTE_5_1 = ::ActiveRecord.gem_version >= ::Gem::Version.new("5.1.0.beta1")
8
5
 
9
6
  def initialize(record)
10
7
  @record = record
@@ -477,9 +474,7 @@ module PaperTrail
477
474
  if @in_after_callback && RAILS_GTE_5_1
478
475
  @record.attribute_before_last_save(attr_name.to_s)
479
476
  else
480
- # TODO: after dropping support for rails 4.0, remove send, because
481
- # attribute_was is no longer private.
482
- @record.send(:attribute_was, attr_name.to_s)
477
+ @record.attribute_was(attr_name.to_s)
483
478
  end
484
479
  end
485
480
 
@@ -37,7 +37,7 @@ module PaperTrail
37
37
  # @api private
38
38
  def load_version(assoc, id, transaction_id, version_at)
39
39
  assoc.klass.paper_trail.version_class.
40
- where("item_type = ?", assoc.class_name).
40
+ where("item_type = ?", assoc.klass.name).
41
41
  where("item_id = ?", id).
42
42
  where("created_at >= ? OR transaction_id = ?", version_at, transaction_id).
43
43
  order("id").limit(1).first
@@ -98,7 +98,7 @@ module PaperTrail
98
98
  select("MIN(version_id)").
99
99
  where("foreign_key_name = ?", assoc.foreign_key).
100
100
  where("foreign_key_id = ?", model.id).
101
- where("#{version_table}.item_type = ?", assoc.class_name).
101
+ where("#{version_table}.item_type = ?", assoc.klass.name).
102
102
  where("created_at >= ? OR transaction_id = ?", version_at, tx_id).
103
103
  group("item_id").
104
104
  to_sql
@@ -73,7 +73,7 @@ module PaperTrail
73
73
  def load_versions_for_hmt_association(assoc, ids, tx_id, version_at)
74
74
  version_id_subquery = assoc.klass.paper_trail.version_class.
75
75
  select("MIN(id)").
76
- where("item_type = ?", assoc.class_name).
76
+ where("item_type = ?", assoc.klass.name).
77
77
  where("item_id IN (?)", ids).
78
78
  where(
79
79
  "created_at >= ? OR transaction_id = ?",
@@ -36,7 +36,7 @@ module PaperTrail
36
36
  model.class.paper_trail.version_class.joins(:version_associations).
37
37
  where("version_associations.foreign_key_name = ?", assoc.foreign_key).
38
38
  where("version_associations.foreign_key_id = ?", model.id).
39
- where("#{version_table_name}.item_type = ?", assoc.class_name).
39
+ where("#{version_table_name}.item_type = ?", assoc.klass.name).
40
40
  where("created_at >= ? OR transaction_id = ?", version_at, transaction_id).
41
41
  order("#{version_table_name}.id ASC").
42
42
  first
@@ -4,13 +4,6 @@ module PaperTrail
4
4
  module Serializers
5
5
  # An alternate serializer for, e.g. `versions.object`.
6
6
  module JSON
7
- E_WHERE_OBJ_CHANGES = <<-STR.squish.freeze
8
- where_object_changes has a known issue. When reading json from a text
9
- column, it may return more records than expected. Instead of a warning,
10
- this method may raise an error in the future. Please join the discussion
11
- at https://github.com/airblade/paper_trail/issues/803
12
- STR
13
-
14
7
  extend self # makes all instance methods become module methods as well
15
8
 
16
9
  def load(string)
@@ -39,17 +32,14 @@ module PaperTrail
39
32
  end
40
33
  end
41
34
 
42
- # Returns a SQL LIKE condition to be used to match the given field and
43
- # value in the serialized `object_changes`.
44
- def where_object_changes_condition(arel_field, field, value)
45
- ::ActiveSupport::Deprecation.warn(E_WHERE_OBJ_CHANGES)
46
-
47
- # Convert to JSON to handle strings and nulls correctly.
48
- json_value = value.to_json
49
-
50
- # Need to check first (before) and secondary (after) fields
51
- arel_field.matches("%\"#{field}\":[#{json_value},%").
52
- or(arel_field.matches("%\"#{field}\":[%,#{json_value}]%"))
35
+ def where_object_changes_condition(*)
36
+ raise <<-STR.squish.freeze
37
+ where_object_changes no longer supports reading json from a text
38
+ column. The old implementation was inaccurate, returning more records
39
+ than you wanted. This feature was deprecated in 7.1.0 and removed in
40
+ 8.0.0. The json and jsonb datatypes are still supported. See the
41
+ discussion at https://github.com/airblade/paper_trail/issues/803
42
+ STR
53
43
  end
54
44
  end
55
45
  end
@@ -12,10 +12,7 @@ module PaperTrail
12
12
  extend ::ActiveSupport::Concern
13
13
 
14
14
  included do
15
- # The respond_to? check here is specific to ActiveRecord 4.0 and can be
16
- # removed when support for ActiveRecord < 4.2 is dropped.
17
- if ::ActiveRecord.respond_to?(:gem_version) &&
18
- ::ActiveRecord.gem_version >= Gem::Version.new("5.0")
15
+ if ::ActiveRecord.gem_version >= Gem::Version.new("5.0")
19
16
  belongs_to :item, polymorphic: true, optional: true
20
17
  else
21
18
  belongs_to :item, polymorphic: true
@@ -5,9 +5,9 @@ module PaperTrail
5
5
  # because of this confusion, but it's not worth the breaking change.
6
6
  # People are encouraged to use `PaperTrail.gem_version` instead.
7
7
  module VERSION
8
- MAJOR = 7
9
- MINOR = 1
10
- TINY = 3
8
+ MAJOR = 8
9
+ MINOR = 0
10
+ TINY = 0
11
11
  PRE = nil
12
12
 
13
13
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".").freeze
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paper_trail
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.1.3
4
+ version: 8.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Stewart
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-09-19 00:00:00.000000000 Z
13
+ date: 2017-10-05 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activerecord
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: '4.0'
21
+ version: '4.2'
22
22
  - - "<"
23
23
  - !ruby/object:Gem::Version
24
24
  version: '5.2'
@@ -28,7 +28,7 @@ dependencies:
28
28
  requirements:
29
29
  - - ">="
30
30
  - !ruby/object:Gem::Version
31
- version: '4.0'
31
+ version: '4.2'
32
32
  - - "<"
33
33
  - !ruby/object:Gem::Version
34
34
  version: '5.2'
@@ -94,7 +94,7 @@ dependencies:
94
94
  requirements:
95
95
  - - ">="
96
96
  - !ruby/object:Gem::Version
97
- version: '4.0'
97
+ version: '4.2'
98
98
  - - "<"
99
99
  - !ruby/object:Gem::Version
100
100
  version: '5.2'
@@ -104,7 +104,7 @@ dependencies:
104
104
  requirements:
105
105
  - - ">="
106
106
  - !ruby/object:Gem::Version
107
- version: '4.0'
107
+ version: '4.2'
108
108
  - - "<"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '5.2'
@@ -323,7 +323,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
323
323
  requirements:
324
324
  - - ">="
325
325
  - !ruby/object:Gem::Version
326
- version: 2.1.0
326
+ version: 2.2.0
327
327
  required_rubygems_version: !ruby/object:Gem::Requirement
328
328
  requirements:
329
329
  - - ">="