active_partition 0.2.0 → 0.3.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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/active_partition/version.rb +1 -1
- data/lib/active_partition.rb +14 -9
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cd2f915d2a18fe45a1bfd5abada5f585341ee132a04c01a37214cd7a633ba7bd
|
4
|
+
data.tar.gz: dd8d0e55063e0acc1089cfc99c3de44e30c40f1b8ff4b99696c424407fd8aa7c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f32b271affea24e5c9d450c004fb094c2c18308e8370132754bf16444a16db0c21b75e72f2cf693c92ddbbc2cfad97ff4297495813f596996a9ee364fef15704
|
7
|
+
data.tar.gz: b18f0e4b19d116423ac3135797e68622eaaee93d0c1ea93f530282152606811cca395e156b516400e971427424897d3cd34f4eff49635774e6e24c20c131af00
|
data/Gemfile.lock
CHANGED
data/lib/active_partition.rb
CHANGED
@@ -15,12 +15,17 @@ module ActivePartition
|
|
15
15
|
|
16
16
|
included do
|
17
17
|
# when partitioned column change, create partition if needed
|
18
|
-
|
19
|
-
|
20
|
-
attribute_changed?(self.class.partitioned_by.to_s)
|
21
|
-
}
|
18
|
+
# before_validation will be called with create, update, save, and create! methods
|
19
|
+
before_validation :create_partition_if_needed
|
22
20
|
|
23
21
|
def create_partition_if_needed
|
22
|
+
if ["created_at", "updated_at"].include?(self.class.partitioned_by.to_s) && self.attributes[self.class.partitioned_by].nil?
|
23
|
+
# set default value if created_at or updated_at is nil
|
24
|
+
self.assign_attributes(self.class.partitioned_by => Time.current.utc)
|
25
|
+
end
|
26
|
+
|
27
|
+
return unless self.class.partitioned_by && attribute_changed?(self.class.partitioned_by.to_s)
|
28
|
+
|
24
29
|
# get partitioned attribute value
|
25
30
|
partitioned_value = attributes[self.class.partitioned_by.to_s]
|
26
31
|
self.class.prepare_partition(partitioned_value, self.class.partition_range)
|
@@ -61,11 +66,11 @@ module ActivePartition
|
|
61
66
|
end
|
62
67
|
end
|
63
68
|
|
64
|
-
delegate :premake, :latest_partition_coverage_time, to: :partition_manager
|
65
|
-
delegate :retain, :retain_by_time, :retain_by_partition_count, to: :partition_manager
|
66
|
-
delegate :prepare_partition, "active_partitions_cover?", to: :partition_manager
|
67
|
-
delegate :get_all_supported_partition_tables, to: :partition_adapter
|
68
|
-
delegate :drop_partition, to: :partition_adapter
|
69
|
+
# delegate :premake, :latest_partition_coverage_time, to: :partition_manager
|
70
|
+
# delegate :retain, :retain_by_time, :retain_by_partition_count, to: :partition_manager
|
71
|
+
# delegate :prepare_partition, "active_partitions_cover?", to: :partition_manager
|
72
|
+
# delegate :get_all_supported_partition_tables, to: :partition_adapter
|
73
|
+
# delegate :drop_partition, to: :partition_adapter
|
69
74
|
end
|
70
75
|
end
|
71
76
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_partition
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thien Tran
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-07-
|
11
|
+
date: 2024-07-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: byebug
|