temporal_tables 0.6.7 → 0.6.9
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 +4 -4
- data/gemfiles/Gemfile.5.0.mysql.lock +1 -1
- data/gemfiles/Gemfile.5.0.pg.lock +1 -1
- data/gemfiles/Gemfile.5.1.mysql.lock +1 -1
- data/gemfiles/Gemfile.5.1.pg.lock +1 -1
- data/gemfiles/Gemfile.5.2.mysql.lock +1 -1
- data/gemfiles/Gemfile.5.2.pg.lock +1 -1
- data/lib/temporal_tables/temporal_class.rb +7 -3
- data/lib/temporal_tables/version.rb +1 -1
- data/spec/basic_history_spec.rb +16 -0
- data/spec/internal/app/models/broom.rb +2 -0
- data/spec/internal/app/models/flying_machine.rb +3 -0
- data/spec/internal/app/models/person.rb +3 -2
- data/spec/internal/app/models/rocket_broom.rb +2 -0
- data/spec/internal/db/schema.rb +8 -2
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9863a5343174db0c24c2d0019fd9403d196824cc13cb3438598e8f8d950be485
|
4
|
+
data.tar.gz: 5aa981d770362f0a8a341991cf18cd0a7ea1e2dda5719275d03445b82f6f28ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1bc55839b61a4c816c650994ea297c1ea9a3fc9b9f37c3a89529c77c9e81e6049cd052707198c3b14501f0aec810c3e7a7350d5d94d1aa57e9ffbf3c9ee0255a
|
7
|
+
data.tar.gz: 7026b3448055ebf8eb1bcbf77898bff845eca5bcb728a4bed53dd40c562ec0710e9fe3eb3c7631394d8c2c137b0d1ad6f2b179b2951491d6da95e12983e51edc
|
@@ -54,9 +54,13 @@ module TemporalTables
|
|
54
54
|
end
|
55
55
|
|
56
56
|
def find_sti_class(type_name)
|
57
|
-
|
58
|
-
|
59
|
-
|
57
|
+
type_name += "History" unless type_name =~ /History\Z/
|
58
|
+
|
59
|
+
begin
|
60
|
+
super
|
61
|
+
rescue ActiveRecord::SubclassNotFound
|
62
|
+
superclass.send(:find_sti_class, type_name)
|
63
|
+
end
|
60
64
|
end
|
61
65
|
end
|
62
66
|
|
data/spec/basic_history_spec.rb
CHANGED
@@ -108,5 +108,21 @@ describe Person do
|
|
108
108
|
expect(emily.warts.first.hairiness).to eq(3)
|
109
109
|
end
|
110
110
|
end
|
111
|
+
|
112
|
+
describe "when working with STI one level deep" do
|
113
|
+
let!(:broom) { Broom.create person: emily, model: "Cackler 2000" }
|
114
|
+
|
115
|
+
it "should initialize model correctly" do
|
116
|
+
expect(emily.history.last.flying_machines).to eq([broom.history.last])
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
describe "when working with STI two levels deep" do
|
121
|
+
let!(:rocket_broom) { RocketBroom.create person: emily, model: "Pyrocackler 3000X" }
|
122
|
+
|
123
|
+
it "should initialize model correctly" do
|
124
|
+
expect(emily.history.last.flying_machines).to eq([rocket_broom.history.last])
|
125
|
+
end
|
126
|
+
end
|
111
127
|
end
|
112
128
|
end
|
data/spec/internal/db/schema.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
ActiveRecord::Schema.define do
|
2
2
|
create_table :people, temporal: true, force: true do |t|
|
3
|
-
t.
|
3
|
+
t.belongs_to :coven
|
4
4
|
t.string :name
|
5
5
|
end
|
6
6
|
|
@@ -10,7 +10,13 @@ ActiveRecord::Schema.define do
|
|
10
10
|
add_temporal_table :covens
|
11
11
|
|
12
12
|
create_table :warts, temporal: true, force: true do |t|
|
13
|
-
t.
|
13
|
+
t.belongs_to :person
|
14
14
|
t.integer :hairiness
|
15
15
|
end
|
16
|
+
|
17
|
+
create_table :flying_machines, temporal: true, force: true do |t|
|
18
|
+
t.belongs_to :person
|
19
|
+
t.string :type
|
20
|
+
t.string :model
|
21
|
+
end
|
16
22
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: temporal_tables
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brent Kroeker
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-01-
|
11
|
+
date: 2019-01-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -107,8 +107,11 @@ files:
|
|
107
107
|
- lib/temporal_tables/whodunnit.rb
|
108
108
|
- spec/basic_history_spec.rb
|
109
109
|
- spec/extensions/combustion.rb
|
110
|
+
- spec/internal/app/models/broom.rb
|
110
111
|
- spec/internal/app/models/coven.rb
|
112
|
+
- spec/internal/app/models/flying_machine.rb
|
111
113
|
- spec/internal/app/models/person.rb
|
114
|
+
- spec/internal/app/models/rocket_broom.rb
|
112
115
|
- spec/internal/app/models/wart.rb
|
113
116
|
- spec/internal/config/database.sample.yml
|
114
117
|
- spec/internal/config/routes.rb
|
@@ -144,8 +147,11 @@ summary: Tracks all history of changes to a table automatically in a history tab
|
|
144
147
|
test_files:
|
145
148
|
- spec/basic_history_spec.rb
|
146
149
|
- spec/extensions/combustion.rb
|
150
|
+
- spec/internal/app/models/broom.rb
|
147
151
|
- spec/internal/app/models/coven.rb
|
152
|
+
- spec/internal/app/models/flying_machine.rb
|
148
153
|
- spec/internal/app/models/person.rb
|
154
|
+
- spec/internal/app/models/rocket_broom.rb
|
149
155
|
- spec/internal/app/models/wart.rb
|
150
156
|
- spec/internal/config/database.sample.yml
|
151
157
|
- spec/internal/config/routes.rb
|