rails-pg_trigger 0.1.2 → 0.1.3

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: dd4fadc7023d22fd1843ebab5974e7212fdc620de62059ae102657b6c24a1191
4
- data.tar.gz: f8bfc0acf6c0647167ccbc3803dc6826fb1c96d56fdf7faf292dca6c08a8721b
3
+ metadata.gz: 44aab12612f46126b08d12e199cb56b8011848c3f6d6fd1297d3dc82079640d0
4
+ data.tar.gz: 7cc00af7a6f44b0d3c773a70526a907656c7eeecbcd8e73857330011946a206b
5
5
  SHA512:
6
- metadata.gz: b1df9ba8c9d32fb33106e6939e183aa0917a150c22f3f77b39bda995ff1cdbee2ddd646a4cd6efbbb8a8a43c02a3b2375765f9d9ff96cb5ed04d26afb462ae1f
7
- data.tar.gz: bad3ffd878a86fe85577da0ceec414ce17bab77cd5834abc5628536966c3b66bcc0643669c75703c2c64253703c150f6a67709b7b7887942adf6ed9a91fc3779
6
+ metadata.gz: b8c0b565a02f88efbf883c1bf76fcd9e9e18c49ddcdb90b40399521635f193a2bcded0421b297e3f553a8fea863a87d142cda075469d025bbb50d19253bb45af
7
+ data.tar.gz: 53fc370375dd2cac4ccc0699a260e35829fdf5d353097001ab1675be0267d18826a0fb9c2745fe97a9edc228eccd7ca3905b473471f7172f11798a28b6881e90
data/CHANGELOG.md CHANGED
@@ -1,4 +1,11 @@
1
- ## [0.1.2]
1
+ ## [Unreleased]
2
+
3
+ ## [0.1.3] - 2024-02-11
4
+
5
+ - Correclty rollback updated triggers
6
+ - Fix noop in non dev/test environments
7
+
8
+ ## [0.1.2] - 2024-01-22
2
9
 
3
10
  - `where_clause` is now also used to compare triggers
4
11
  - Add trigger's columns in generated SQL and name
@@ -3,8 +3,23 @@ module PgTrigger::Noop
3
3
  other.extend ClassMethods
4
4
  end
5
5
 
6
+ class Proxy
7
+ def self.chain(*methods)
8
+ methods.each do |m|
9
+ class_eval <<-RUBY, __FILE__, __LINE__ + 1
10
+ def #{m}(*)
11
+ self
12
+ end
13
+ RUBY
14
+ end
15
+ end
16
+
17
+ chain :on, :of, :after, :before, :named, :where, :nowrap
18
+ end
19
+
6
20
  module ClassMethods
7
21
  def trigger
22
+ Proxy.new
8
23
  end
9
24
  end
10
25
  end
@@ -20,7 +20,7 @@ module PgTrigger
20
20
  @expected.each do |t|
21
21
  e = @existing.find { |_t| _t.name == t.name }
22
22
  if e
23
- plan.update_trigger(t) unless t.same?(e)
23
+ plan.update_trigger(e, t) unless t.same?(e)
24
24
  else
25
25
  plan.add_trigger(t)
26
26
  end
@@ -81,12 +81,12 @@ module PgTrigger
81
81
  @actions[:to_remove] << t
82
82
  end
83
83
 
84
- def update_trigger(t)
84
+ def update_trigger(old_t, new_t)
85
85
  set_type :update
86
- set_table t.table
86
+ set_table new_t.table
87
87
 
88
- @actions[:to_remove] << t
89
- @actions[:to_add] << t
88
+ @actions[:to_remove] << old_t
89
+ @actions[:to_add] << new_t
90
90
  end
91
91
 
92
92
  private
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PgTrigger
4
- VERSION = "0.1.2"
4
+ VERSION = "0.1.3"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-pg_trigger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - ccocchi
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-01-22 00:00:00.000000000 Z
11
+ date: 2024-02-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -104,7 +104,7 @@ metadata:
104
104
  homepage_uri: https://github.com/ccocchi/rails-pg_trigger
105
105
  source_code_uri: https://github.com/ccocchi/rails-pg_trigger
106
106
  changelog_uri: https://github.com/ccocchi/rails-pg_trigger/blob/main/CHANGELOG.md
107
- post_install_message:
107
+ post_install_message:
108
108
  rdoc_options: []
109
109
  require_paths:
110
110
  - lib
@@ -119,8 +119,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
119
119
  - !ruby/object:Gem::Version
120
120
  version: '0'
121
121
  requirements: []
122
- rubygems_version: 3.3.7
123
- signing_key:
122
+ rubygems_version: 3.0.3.1
123
+ signing_key:
124
124
  specification_version: 4
125
125
  summary: Postgres triggers for Rails
126
126
  test_files: []