archive_hook 0.1.1 → 0.1.2
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 +0 -3
- data/README.md +6 -0
- data/archive_hook.gemspec +5 -1
- data/lib/archive_hook/version.rb +1 -1
- metadata +42 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e54918283bc4fcb9f8c3890c51191fe8b844e0d82d6fe6f5316c2af38a3ebc3e
|
|
4
|
+
data.tar.gz: 2126bf291081eb4943422c7ff7ac3fc57ace9faa9904c94904a3ccf780355de6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: aba9e9c6ec17d9b92cc90915e48ed451daf3c82aa8cd723a4700b1d1e2da07c504e2374b0c6ca5f8667cae59e69f679c45a851e4fd9c38034c60b0d24d1c4c62
|
|
7
|
+
data.tar.gz: 677fcee118a322e088f6c8c66dffd8a9b7468812f3025182bfa4ffa6714cf6635088fe5928dfe788316bc624bc93f7273a6577ce7b6b47f3e459fae4403f9a42
|
data/Gemfile
CHANGED
data/README.md
CHANGED
|
@@ -48,6 +48,12 @@ end
|
|
|
48
48
|
Run the generator for the root model and for every model listed under a `children:` entry in
|
|
49
49
|
your dependency mapping (see below) — each one needs its own `_archive` table.
|
|
50
50
|
|
|
51
|
+
> **Postgres only (for now):** the generator's `CREATE TABLE ... (LIKE ...)` is Postgres syntax.
|
|
52
|
+
> On other databases, write the `_archive` table migration by hand instead — the archiving and
|
|
53
|
+
> restoring API itself (`.archive`, `.archive_scope`, `.restore_scope`) is plain SQL
|
|
54
|
+
> (`INSERT INTO ... SELECT`, `DELETE ... WHERE id IN (...)`) run through the ActiveRecord
|
|
55
|
+
> connection, so it isn't tied to any particular adapter.
|
|
56
|
+
|
|
51
57
|
`ArchiveHook` reads the columns off the model at call time, so the archive table just needs to
|
|
52
58
|
have matching column names — it doesn't need matching constraints, indexes, or an FK to the
|
|
53
59
|
original table.
|
data/archive_hook.gemspec
CHANGED
|
@@ -32,7 +32,11 @@ Gem::Specification.new do |spec|
|
|
|
32
32
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
33
33
|
spec.require_paths = ["lib"]
|
|
34
34
|
|
|
35
|
+
# Only ActiveRecord (+ Arel, bundled with it) is used at runtime; no need for full Rails.
|
|
36
|
+
spec.add_dependency "activerecord", ">= 5.2", "< 9"
|
|
37
|
+
|
|
35
38
|
spec.add_development_dependency "bundler", "~> 2.3"
|
|
36
|
-
spec.add_development_dependency "
|
|
39
|
+
spec.add_development_dependency "pg"
|
|
40
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
|
37
41
|
spec.add_development_dependency "rspec", "~> 3.0"
|
|
38
42
|
end
|
data/lib/archive_hook/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,15 +1,35 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: archive_hook
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- alvir
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-08-
|
|
11
|
+
date: 2026-08-31 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: activerecord
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - ">="
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '5.2'
|
|
20
|
+
- - "<"
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: '9'
|
|
23
|
+
type: :runtime
|
|
24
|
+
prerelease: false
|
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
26
|
+
requirements:
|
|
27
|
+
- - ">="
|
|
28
|
+
- !ruby/object:Gem::Version
|
|
29
|
+
version: '5.2'
|
|
30
|
+
- - "<"
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '9'
|
|
13
33
|
- !ruby/object:Gem::Dependency
|
|
14
34
|
name: bundler
|
|
15
35
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -24,20 +44,34 @@ dependencies:
|
|
|
24
44
|
- - "~>"
|
|
25
45
|
- !ruby/object:Gem::Version
|
|
26
46
|
version: '2.3'
|
|
47
|
+
- !ruby/object:Gem::Dependency
|
|
48
|
+
name: pg
|
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
|
50
|
+
requirements:
|
|
51
|
+
- - ">="
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: '0'
|
|
54
|
+
type: :development
|
|
55
|
+
prerelease: false
|
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
+
requirements:
|
|
58
|
+
- - ">="
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: '0'
|
|
27
61
|
- !ruby/object:Gem::Dependency
|
|
28
62
|
name: rake
|
|
29
63
|
requirement: !ruby/object:Gem::Requirement
|
|
30
64
|
requirements:
|
|
31
65
|
- - "~>"
|
|
32
66
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
67
|
+
version: '13.0'
|
|
34
68
|
type: :development
|
|
35
69
|
prerelease: false
|
|
36
70
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
71
|
requirements:
|
|
38
72
|
- - "~>"
|
|
39
73
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
74
|
+
version: '13.0'
|
|
41
75
|
- !ruby/object:Gem::Dependency
|
|
42
76
|
name: rspec
|
|
43
77
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -83,7 +117,7 @@ licenses:
|
|
|
83
117
|
metadata:
|
|
84
118
|
homepage_uri: https://github.com/alvir/archive_hook
|
|
85
119
|
source_code_uri: https://github.com/alvir/archive_hook
|
|
86
|
-
post_install_message:
|
|
120
|
+
post_install_message:
|
|
87
121
|
rdoc_options: []
|
|
88
122
|
require_paths:
|
|
89
123
|
- lib
|
|
@@ -98,8 +132,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
98
132
|
- !ruby/object:Gem::Version
|
|
99
133
|
version: '0'
|
|
100
134
|
requirements: []
|
|
101
|
-
rubygems_version: 3.
|
|
102
|
-
signing_key:
|
|
135
|
+
rubygems_version: 3.4.10
|
|
136
|
+
signing_key:
|
|
103
137
|
specification_version: 4
|
|
104
138
|
summary: Archive ActiveRecord models (and their dependents) to parallel _archive tables
|
|
105
139
|
test_files: []
|