pg_audit_log 0.6.6 → 0.6.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7ec491dc91a88e95b3a62a99119d71b9880b1633
4
- data.tar.gz: 5eb489c343b5d17208ae25a3f00ecc418d3aeecd
3
+ metadata.gz: 946dc5231a6ed7b9c032ce8885e92d057546e25f
4
+ data.tar.gz: 78793aadac855b97c3feec7d26a974a9adf6f965
5
5
  SHA512:
6
- metadata.gz: 83c89e0684320a261368562fbeb03167adc617814f858c59747787c3e775a57ea2d3783c8771561ead90692b3a8a7acaf30a5a3fe66ff5841aa7815424cc01e4
7
- data.tar.gz: 5f29260cda979560c08e8a2cd76474363595daba8f1821f79c6148f555a5f839fd56c8b3badf7f86655376c0901cfb5860d9134760eeae5422144e5a2a4ba216
6
+ metadata.gz: c2118e06daae669ab31cec6c757b5a87ca9f977fc07af5f580dd4f907ff1a204b6a0bbf5c79330d81af941e51841b22e0b28c0c3e82a21efd1ace611fc150b00
7
+ data.tar.gz: 1178296898b04f3c9361b7491029eb7cf9a5b3e9f00fbbd172d60de0cda164f9b3293cd50be037aa5007c5d331b623fce8e6c8916da62fea84bb1dac9d4694f4
@@ -8,19 +8,21 @@ before_script:
8
8
  - psql -c 'CREATE DATABASE pg_audit_log_test;' -U postgres
9
9
 
10
10
  rvm:
11
- - "1.9"
12
- - "2.0"
13
- - "2.1"
14
- - "2.2"
15
- #- jruby-19mode
16
- - rbx-2.2
11
+ - "2.1.10"
12
+ - "2.2.6"
13
+ - "2.3.3"
14
+ - "2.4.1"
17
15
 
18
16
  env:
19
17
  - RAILS_VERSION="~> 4.2.0"
20
- - RAILS_VERSION="~> 4.1.0"
21
- - RAILS_VERSION="~> 4.0.0"
22
- - RAILS_VERSION="~> 3.2.0"
18
+ - RAILS_VERSION="~> 5.0.0"
19
+ - RAILS_BRANCH="master"
23
20
 
24
21
  matrix:
25
22
  allow_failures:
26
23
  - env: RAILS_BRANCH="master"
24
+ exclude:
25
+ - rvm: "2.1.10"
26
+ env: RAILS_VERSION="~> 5.0.0"
27
+ - rvm: "2.1.10"
28
+ env: RAILS_BRANCH="master"
@@ -1,3 +1,7 @@
1
+ ### 0.6.7
2
+ - Fix nested calls to 'without_triggers'.
3
+
4
+
1
5
  ### 0.6.6
2
6
  - Bump Rails dependency to include all 4.2.x (@MrJaba)
3
7
  - Fixed migration name to be .rb file (@MrJaba)
@@ -68,23 +68,23 @@ class ActiveRecord::ConnectionAdapters::PostgreSQLAdapter
68
68
  end
69
69
  alias_method_chain :execute, :pg_audit_log
70
70
 
71
- def exec_query_with_pg_audit_log(sql, name = 'SQL', binds = [])
71
+ def exec_query_with_pg_audit_log(*args, &block)
72
72
  set_audit_user_id_and_name
73
- conn = exec_query_without_pg_audit_log(sql, name, binds)
73
+ conn = exec_query_without_pg_audit_log(*args, &block)
74
74
  conn
75
75
  end
76
76
  alias_method_chain :exec_query, :pg_audit_log
77
77
 
78
- def exec_update_with_pg_audit_log(sql, name = 'SQL', binds = [])
78
+ def exec_update_with_pg_audit_log(*args, &block)
79
79
  set_audit_user_id_and_name
80
- conn = exec_update_without_pg_audit_log(sql, name, binds)
80
+ conn = exec_update_without_pg_audit_log(*args, &block)
81
81
  conn
82
82
  end
83
83
  alias_method_chain :exec_update, :pg_audit_log
84
84
 
85
- def exec_delete_with_pg_audit_log(sql, name = 'SQL', binds = [])
85
+ def exec_delete_with_pg_audit_log(*args, &block)
86
86
  set_audit_user_id_and_name
87
- conn = exec_delete_without_pg_audit_log(sql, name, binds)
87
+ conn = exec_delete_without_pg_audit_log(*args, &block)
88
88
  conn
89
89
  end
90
90
  alias_method_chain :exec_delete, :pg_audit_log
@@ -49,18 +49,21 @@ module PgAuditLog
49
49
  end
50
50
 
51
51
  def enable
52
+ @disabled = false
52
53
  connection.set_user_id(nil)
53
54
  end
54
55
 
55
56
  def disable
57
+ @disabled = true
56
58
  connection.set_user_id(PgAuditLog::Function::DISABLED_USER)
57
59
  end
58
60
 
59
61
  def without_triggers
60
- disable
62
+ was_disabled = @disabled
63
+ disable unless was_disabled
61
64
  yield
62
65
  ensure
63
- enable
66
+ enable unless was_disabled
64
67
  end
65
68
 
66
69
  def create_for_table(table_name)
@@ -1,3 +1,3 @@
1
1
  module PgAuditLog
2
- VERSION = '0.6.6'.freeze
2
+ VERSION = '0.6.7'.freeze
3
3
  end
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
20
20
  spec.require_paths = ['lib']
21
21
 
22
- spec.add_dependency 'rails', '>= 3.2', '< 4.3'
22
+ spec.add_dependency 'rails', '>= 4.2', '< 5.1'
23
23
  spec.add_dependency 'pg', '>= 0.9.0'
24
24
  spec.add_development_dependency 'rspec', '~> 3.0'
25
25
  spec.add_development_dependency 'rspec-rails'
@@ -2,6 +2,7 @@ require 'spec_helper'
2
2
 
3
3
  describe PgAuditLog::Triggers do
4
4
  before :each do
5
+ PgAuditLog::Triggers.enable
5
6
  PgAuditLog::Triggers.uninstall rescue nil
6
7
  end
7
8
 
@@ -132,6 +133,20 @@ describe PgAuditLog::Triggers do
132
133
  }.to change(PgAuditLog::Entry, :count)
133
134
  expect(PgAuditLog::Entry.last.user_id).to eq(-1)
134
135
  end
136
+
137
+ context 'when nested' do
138
+ it 'does not enable prematurely' do
139
+ expect {
140
+ PgAuditLog::Triggers.without_triggers do
141
+ TableWithTriggers.create!
142
+ PgAuditLog::Triggers.without_triggers do
143
+ TableWithTriggers.create!
144
+ end
145
+ TableWithTriggers.create!
146
+ end
147
+ }.to_not change(PgAuditLog::Entry, :count)
148
+ end
149
+ end
135
150
  end
136
151
 
137
152
  describe ".create_for_table" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg_audit_log
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.6
4
+ version: 0.6.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Case Commons, LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-09 00:00:00.000000000 Z
11
+ date: 2017-03-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -16,20 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '3.2'
19
+ version: '4.2'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '4.3'
22
+ version: '5.1'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: '3.2'
29
+ version: '4.2'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '4.3'
32
+ version: '5.1'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: pg
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -145,7 +145,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
145
145
  version: '0'
146
146
  requirements: []
147
147
  rubyforge_project:
148
- rubygems_version: 2.4.5
148
+ rubygems_version: 2.2.2
149
149
  signing_key:
150
150
  specification_version: 4
151
151
  summary: PostgreSQL-only database-level audit logging of all databases changes.
@@ -156,4 +156,3 @@ test_files:
156
156
  - spec/pg_audit_log_spec.rb
157
157
  - spec/spec_helper.rb
158
158
  - spec/triggers_spec.rb
159
- has_rdoc: