activerecord-bitemporal 2.2.0 → 2.3.0

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: 0f295f51427b6b8fad97d0c36e84946cb705aad3d1d8bbff9a18b92df60cc083
4
- data.tar.gz: 44003988d2c2dd02e4133a4d6ffbd233167793a9d5fac5bd5d1056fff3c97f42
3
+ metadata.gz: 6c03b187851d427db0ff32c1d8cc721eaf71da732877d096d0e9cc843b54550a
4
+ data.tar.gz: 126840e0fc964919ff80a3d403e820958cf81096dca79ff7abd4f40fa603ea27
5
5
  SHA512:
6
- metadata.gz: 2ebc5d5e6933952e285e3a88f5d8fc03a919ef9c79e0106845362c09c3e73520f24b863a404f9b9a9ef1cfc94e4af48184f7e82345dfa6544bbde5f06555b646
7
- data.tar.gz: c83ffc5f27d54e8dfed0aaa051922a20b16b8bcba78c556d9568fc71fb15c7d54b0e9713984a150015001469188e826ee5cfb54e41e89d6bea37e1be7d8422ff
6
+ metadata.gz: aac42b7ea34a98bd646c2a2d516f91cd1fc7ca4b86db45fe78e28699ea6dfe0159e7169ed44402be46d7fdcfbe0ff6e2795e69d08df0a5910fc4ceedda0455d8
7
+ data.tar.gz: b9a7a842b205529e3bdc89352e9cd505435a009c179bdf54353942747d0b3275d48985628e2347dc31887d85da351a7af0d2d18fd7ac4e89fdcc1074aef73078
data/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.3.0
4
+
5
+ ### Breaking Changed
6
+
7
+ ### Added
8
+ - [Add `InstanceMethods#swapped_id_previously_was`](https://github.com/kufu/activerecord-bitemporal/pull/114)
9
+
10
+ ### Changed
11
+
12
+ ### Deprecated
13
+
14
+ ### Removed
15
+
16
+ ### Fixed
17
+
3
18
  ## 2.2.0
4
19
 
5
20
  ### Breaking Changed
data/Gemfile.lock CHANGED
@@ -1,36 +1,35 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- activerecord-bitemporal (0.1.0)
4
+ activerecord-bitemporal (2.3.0)
5
5
  activerecord (>= 5.2)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activemodel (6.1.3)
11
- activesupport (= 6.1.3)
12
- activerecord (6.1.3)
13
- activemodel (= 6.1.3)
14
- activesupport (= 6.1.3)
15
- activesupport (6.1.3)
10
+ activemodel (7.0.4.2)
11
+ activesupport (= 7.0.4.2)
12
+ activerecord (7.0.4.2)
13
+ activemodel (= 7.0.4.2)
14
+ activesupport (= 7.0.4.2)
15
+ activesupport (7.0.4.2)
16
16
  concurrent-ruby (~> 1.0, >= 1.0.2)
17
17
  i18n (>= 1.6, < 2)
18
18
  minitest (>= 5.1)
19
19
  tzinfo (~> 2.0)
20
- zeitwerk (~> 2.3)
21
20
  appraisal (2.2.0)
22
21
  bundler
23
22
  rake
24
23
  thor (>= 0.14.0)
25
24
  byebug (10.0.2)
26
25
  coderay (1.1.2)
27
- concurrent-ruby (1.1.8)
26
+ concurrent-ruby (1.2.0)
28
27
  database_cleaner (1.7.0)
29
28
  diff-lcs (1.3)
30
- i18n (1.8.9)
29
+ i18n (1.12.0)
31
30
  concurrent-ruby (~> 1.0)
32
31
  method_source (0.9.0)
33
- minitest (5.14.4)
32
+ minitest (5.17.0)
34
33
  pg (1.1.3)
35
34
  pry (0.11.3)
36
35
  coderay (~> 1.1.0)
@@ -54,9 +53,8 @@ GEM
54
53
  rspec-support (3.8.0)
55
54
  thor (0.20.3)
56
55
  timecop (0.9.1)
57
- tzinfo (2.0.4)
56
+ tzinfo (2.0.5)
58
57
  concurrent-ruby (~> 1.0)
59
- zeitwerk (2.4.2)
60
58
 
61
59
  PLATFORMS
62
60
  ruby
@@ -74,4 +72,4 @@ DEPENDENCIES
74
72
  timecop
75
73
 
76
74
  BUNDLED WITH
77
- 2.2.3
75
+ 2.2.33
@@ -280,7 +280,10 @@ module ActiveRecord
280
280
  # MEMO: Do not copy `swapped_id`
281
281
  def dup(*)
282
282
  super.tap { |itself|
283
- itself.instance_exec { @_swapped_id = nil } unless itself.frozen?
283
+ itself.instance_exec do
284
+ @_swapped_id_previously_was = nil
285
+ @_swapped_id = nil
286
+ end unless itself.frozen?
284
287
  }
285
288
  end
286
289
  end
@@ -319,6 +322,7 @@ module ActiveRecord
319
322
  after_instance.save!(validate: false)
320
323
 
321
324
  # update 後に新しく生成したインスタンスのデータを移行する
325
+ @_swapped_id_previously_was = swapped_id
322
326
  @_swapped_id = after_instance.swapped_id
323
327
  self.valid_from = after_instance.valid_from
324
328
  self.valid_to = after_instance.valid_to
@@ -345,7 +349,10 @@ module ActiveRecord
345
349
  duplicated_instance.valid_to = target_datetime
346
350
  duplicated_instance.transaction_from = current_time
347
351
  duplicated_instance.save!(validate: false)
348
- @_swapped_id = duplicated_instance.swapped_id if @destroyed
352
+ if @destroyed
353
+ @_swapped_id_previously_was = swapped_id
354
+ @_swapped_id = duplicated_instance.swapped_id
355
+ end
349
356
  }
350
357
  raise ActiveRecord::RecordInvalid unless @destroyed
351
358
 
@@ -380,6 +387,7 @@ module ActiveRecord
380
387
  @new_record = false
381
388
  @previously_new_record = false
382
389
  # NOTE: Hook to copying swapped_id
390
+ @_swapped_id_previously_was = nil
383
391
  @_swapped_id = fresh_object.swapped_id
384
392
  self
385
393
  end
@@ -402,6 +410,7 @@ module ActiveRecord
402
410
  @new_record = false
403
411
  @previously_new_record = false
404
412
  # NOTE: Hook to copying swapped_id
413
+ @_swapped_id_previously_was = nil
405
414
  @_swapped_id = fresh_object.swapped_id
406
415
  self
407
416
  end
@@ -423,6 +432,7 @@ module ActiveRecord
423
432
  @attributes = fresh_object.instance_variable_get("@attributes")
424
433
  @new_record = false
425
434
  # NOTE: Hook to copying swapped_id
435
+ @_swapped_id_previously_was = nil
426
436
  @_swapped_id = fresh_object.swapped_id
427
437
  self
428
438
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module ActiveRecord
4
4
  module Bitemporal
5
- VERSION = "2.2.0"
5
+ VERSION = "2.3.0"
6
6
  end
7
7
  end
@@ -76,6 +76,7 @@ module ActiveRecord::Bitemporal::Bitemporalize
76
76
  include ActiveRecord::Bitemporal::Persistence
77
77
 
78
78
  def swap_id!(without_clear_changes_information: false)
79
+ @_swapped_id_previously_was = nil
79
80
  @_swapped_id = self.id
80
81
  self.id = self.send(bitemporal_id_key)
81
82
  clear_attribute_changes([:id]) unless without_clear_changes_information
@@ -85,6 +86,10 @@ module ActiveRecord::Bitemporal::Bitemporalize
85
86
  @_swapped_id || self.id
86
87
  end
87
88
 
89
+ def swapped_id_previously_was
90
+ @_swapped_id_previously_was
91
+ end
92
+
88
93
  def bitemporal_id_key
89
94
  self.class.bitemporal_id_key
90
95
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-bitemporal
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - SmartHR
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-01-16 00:00:00.000000000 Z
11
+ date: 2023-01-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -174,7 +174,7 @@ homepage: https://github.com/kufu/activerecord-bitemporal
174
174
  licenses:
175
175
  - Apache 2.0
176
176
  metadata: {}
177
- post_install_message:
177
+ post_install_message:
178
178
  rdoc_options: []
179
179
  require_paths:
180
180
  - lib
@@ -189,8 +189,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
189
189
  - !ruby/object:Gem::Version
190
190
  version: '0'
191
191
  requirements: []
192
- rubygems_version: 3.4.3
193
- signing_key:
192
+ rubygems_version: 3.1.6
193
+ signing_key:
194
194
  specification_version: 4
195
195
  summary: BiTemporal Data Model for ActiveRecord
196
196
  test_files: []