sequel_bitemporal 0.8.4 → 0.8.5

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: dc6bb9ceee4fe755f012319a851647fe9037b91e
4
- data.tar.gz: 2131ffd83c0ff24ff6bd870080d6b6763d672430
3
+ metadata.gz: 9a5b898bc4384d3300dc0c08881daafde9347ad5
4
+ data.tar.gz: 78187929210e7c8a56c7c59d898f9cfaad9b72f2
5
5
  SHA512:
6
- metadata.gz: 6bc79a515a21dac544a6e32c8ff3e08326d848a4936a173910b7f3cb98dbd9be439e5dbd8807269b0bd3b52eaa4d8c7f528f64a697a9ce11c4f50053a46dffed
7
- data.tar.gz: acf77c4b2b1865561d5dd93b2f87c4e39910a5a7a1dc26e5e0984c9df0f65770f78492dea145225323f485619203225ee5f58626689f99820b3c10d8c7f08967
6
+ metadata.gz: 85d02d52197c50ac0b46caf04f2a0a9601faee17011a510187eecb628dae05289b6f4778985fe0e7173cfe32493a1f978093bda4046774629caabe9ceb37e2b9
7
+ data.tar.gz: 6a51aefa4b3d20749631382ac4eb1a5cad02ce7e7f7796a182b9d949cd7deafa924d4d4a69988f933e002cc2bb07e89e1eaece98be0ccc1d4917a3cfb7be9816
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.2.2
1
+ 2.2.3
@@ -487,7 +487,10 @@ module Sequel
487
487
  to_check_columns = self.class.version_class.columns - excluded_columns
488
488
  updated_by = (send(self.class.audit_updated_by_method) if audited?)
489
489
  previous_values = @current_version_values || {}
490
- current_version_values = pending_version.values
490
+ current_version_values = {}
491
+ pending_version.columns.each do |column|
492
+ current_version_values[column] = pending_version.public_send(column)
493
+ end
491
494
 
492
495
  futures.each do |future_version|
493
496
  attrs = {}
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "sequel_bitemporal"
6
- s.version = "0.8.4"
6
+ s.version = "0.8.5"
7
7
  s.authors = ["Joseph HALTER", "Jonathan TRON"]
8
8
  s.email = ["joseph.halter@thetalentbox.com", "jonathan.tron@thetalentbox.com"]
9
9
  s.homepage = "https://github.com/TalentBox/sequel_bitemporal"
@@ -39,4 +39,36 @@ describe "Sequel::Plugins::Bitemporal", :skip_jdbc_sqlite do
39
39
  expect{ subject.restore }.to change(@version_class, :count).by 1
40
40
  expect(subject.name).to eq({"test" => 1})
41
41
  end
42
+ it "can propagate changes to future versions per column" do
43
+ propagate_per_column = @master_class.propagate_per_column
44
+ begin
45
+ @master_class.instance_variable_set :@propagate_per_column, true
46
+ master = @master_class.new
47
+ master.update_attributes name: {full_name: "Single Standard"}, price: 12, length: nil, width: 1
48
+ initial_today = Date.today
49
+ Timecop.freeze initial_today+1 do
50
+ master.update_attributes valid_from: initial_today+4, name: {full_name: "King Size"}, price: 15, length: 2, width: 2
51
+ expect(master.propagated_during_last_save.size).to eq(0)
52
+ end
53
+ Timecop.freeze initial_today+2 do
54
+ master.update_attributes valid_from: initial_today+3, length: 1, width: 1
55
+ expect(master.propagated_during_last_save.size).to eq(0)
56
+ end
57
+ Timecop.freeze initial_today+3 do
58
+ master.update_attributes valid_from: initial_today+2, length: 3, width: 4
59
+ expect(master.propagated_during_last_save.size).to eq(1)
60
+ end
61
+ expect(master.versions[0].name).to eq({"full_name" => "Single Standard"})
62
+ expect(master.versions[1].name).to eq({"full_name" => "Single Standard"})
63
+ expect(master.versions[2].name).to eq({"full_name" => "King Size"})
64
+ expect(master.versions[3].name).to eq({"full_name" => "Single Standard"})
65
+ expect(master.versions[4].name).to eq({"full_name" => "Single Standard"})
66
+ expect(master.versions[5].name).to eq({"full_name" => "Single Standard"})
67
+ expect(master.versions[6].name).to eq({"full_name" => "Single Standard"})
68
+ expect(master.versions[7].name).to eq({"full_name" => "Single Standard"})
69
+ ensure
70
+ @master_class.instance_variable_set :@propagate_per_column, propagate_per_column
71
+ end
72
+ end
73
+
42
74
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sequel_bitemporal
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.4
4
+ version: 0.8.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joseph HALTER
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-06-15 00:00:00.000000000 Z
12
+ date: 2015-10-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sequel
@@ -120,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
120
  version: '0'
121
121
  requirements: []
122
122
  rubyforge_project:
123
- rubygems_version: 2.4.5
123
+ rubygems_version: 2.4.5.1
124
124
  signing_key:
125
125
  specification_version: 4
126
126
  summary: Bitemporal versioning for sequel.