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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8e28890f3f0aa049ddfd3d24e63157b586c45d648c7f1fd186b27b5f285e7198
4
- data.tar.gz: 52273e4374126d9ee717badf9f3e674774644447559101ac04ff20dcc50b8257
3
+ metadata.gz: e54918283bc4fcb9f8c3890c51191fe8b844e0d82d6fe6f5316c2af38a3ebc3e
4
+ data.tar.gz: 2126bf291081eb4943422c7ff7ac3fc57ace9faa9904c94904a3ccf780355de6
5
5
  SHA512:
6
- metadata.gz: e194db706bc79ddbadbc41328da3956756aeecb3f99feeb313e4bf19c6fe764f27b2f23ab39e7a83a5c905bcbf113103569a261c21a23b039a559669f0462903
7
- data.tar.gz: 96cdf5ff4e22b1186cac5810129a287fa576d828c8df2981e64ee050a39ce8d93b5651132c0e162700eda2939aa826924c0440ebaafde9c238eb63be6e151af3
6
+ metadata.gz: aba9e9c6ec17d9b92cc90915e48ed451daf3c82aa8cd723a4700b1d1e2da07c504e2374b0c6ca5f8667cae59e69f679c45a851e4fd9c38034c60b0d24d1c4c62
7
+ data.tar.gz: 677fcee118a322e088f6c8c66dffd8a9b7468812f3025182bfa4ffa6714cf6635088fe5928dfe788316bc624bc93f7273a6577ce7b6b47f3e459fae4403f9a42
data/Gemfile CHANGED
@@ -2,8 +2,5 @@ source "https://rubygems.org"
2
2
 
3
3
  git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
4
 
5
- gem "rails", "~> 6.1"
6
- gem "pg"
7
-
8
5
  # Specify your gem's dependencies in archive_hook.gemspec
9
6
  gemspec
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 "rake", "~> 10.0"
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
@@ -1,3 +1,3 @@
1
1
  module ArchiveHook
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
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.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-28 00:00:00.000000000 Z
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: '10.0'
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: '10.0'
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.0.3.1
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: []