logidze 0.9.0 → 0.10.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/.gitattributes +3 -0
- data/.github/ISSUE_TEMPLATE.md +20 -0
- data/.github/PULL_REQUEST_TEMPLATE.md +29 -0
- data/.rubocop.yml +30 -69
- data/.travis.yml +8 -5
- data/CHANGELOG.md +35 -1
- data/Gemfile +2 -0
- data/LICENSE.txt +1 -1
- data/README.md +67 -26
- data/Rakefile +2 -2
- data/assets/pg_log_data_chart.png +0 -0
- data/bench/performance/README.md +2 -2
- data/bench/performance/diff_bench.rb +15 -13
- data/bench/performance/insert_bench.rb +6 -4
- data/bench/performance/memory_profile.rb +12 -9
- data/bench/performance/setup.rb +35 -28
- data/bench/performance/update_bench.rb +8 -6
- data/bin/setup +2 -2
- data/gemfiles/rails42.gemfile +1 -0
- data/gemfiles/rails6.gemfile +6 -0
- data/lib/generators/logidze/install/install_generator.rb +3 -2
- data/lib/generators/logidze/model/model_generator.rb +12 -12
- data/lib/logidze.rb +44 -18
- data/lib/logidze/engine.rb +2 -1
- data/lib/logidze/has_logidze.rb +14 -4
- data/lib/logidze/history.rb +6 -5
- data/lib/logidze/history/type.rb +1 -1
- data/lib/logidze/history/version.rb +6 -5
- data/lib/logidze/ignore_log_data.rb +31 -4
- data/lib/logidze/ignore_log_data/association.rb +11 -0
- data/lib/logidze/ignore_log_data/default_scope_patch.rb +25 -0
- data/lib/logidze/ignore_log_data/ignored_columns.rb +1 -1
- data/lib/logidze/ignore_log_data/missing_attribute_patch.rb +3 -1
- data/lib/logidze/meta.rb +1 -1
- data/lib/logidze/migration.rb +1 -0
- data/lib/logidze/model.rb +14 -4
- data/lib/logidze/version.rb +2 -1
- data/lib/logidze/versioned_association.rb +0 -1
- data/logidze.gemspec +16 -8
- metadata +28 -60
- data/.hound.yml +0 -3
data/lib/logidze.rb
CHANGED
@@ -1,40 +1,66 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require "logidze/version"
|
3
4
|
|
4
5
|
# Logidze provides tools for adding in-table JSON-based audit to DB tables
|
5
6
|
# and ActiveRecord extensions to work with changes history.
|
6
7
|
module Logidze
|
7
|
-
require
|
8
|
-
require
|
9
|
-
require
|
10
|
-
require
|
11
|
-
require
|
12
|
-
require
|
8
|
+
require "logidze/history"
|
9
|
+
require "logidze/model"
|
10
|
+
require "logidze/versioned_association"
|
11
|
+
require "logidze/ignore_log_data"
|
12
|
+
require "logidze/has_logidze"
|
13
|
+
require "logidze/meta"
|
13
14
|
|
14
15
|
extend Logidze::Meta
|
15
16
|
|
16
|
-
require
|
17
|
+
require "logidze/engine" if defined?(Rails)
|
17
18
|
|
18
19
|
class << self
|
19
20
|
# Determines if Logidze should append a version to the log after updating an old version.
|
20
21
|
attr_accessor :append_on_undo
|
22
|
+
|
21
23
|
attr_writer :associations_versioning
|
22
24
|
|
23
25
|
def associations_versioning
|
24
26
|
@associations_versioning || false
|
25
27
|
end
|
26
|
-
end
|
27
28
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
29
|
+
# Determines if Logidze should exclude log data from SELECT statements
|
30
|
+
attr_writer :ignore_log_data_by_default
|
31
|
+
|
32
|
+
def ignore_log_data_by_default
|
33
|
+
@ignore_log_data_by_default || false
|
34
|
+
end
|
35
|
+
|
36
|
+
attr_writer :force_load_log_data
|
37
|
+
|
38
|
+
def force_load_log_data
|
39
|
+
@force_load_log_data || false
|
40
|
+
end
|
41
|
+
|
42
|
+
# Temporary disable DB triggers.
|
43
|
+
#
|
44
|
+
# @example
|
45
|
+
# Logidze.without_logging { Post.update_all(active: true) }
|
46
|
+
def without_logging
|
47
|
+
ActiveRecord::Base.transaction do
|
48
|
+
ActiveRecord::Base.connection.execute "SET LOCAL logidze.disabled TO on;"
|
49
|
+
res = yield
|
50
|
+
ActiveRecord::Base.connection.execute "SET LOCAL logidze.disabled TO DEFAULT;"
|
51
|
+
res
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
# Temporary turn off ignore_log_data_by_default config
|
56
|
+
#
|
57
|
+
# @example
|
58
|
+
# Logidze.with_log_data { Post.update_all(active: true) }
|
59
|
+
def with_log_data
|
60
|
+
Logidze.force_load_log_data = true
|
61
|
+
yield
|
62
|
+
ensure
|
63
|
+
Logidze.force_load_log_data = false
|
38
64
|
end
|
39
65
|
end
|
40
66
|
end
|
data/lib/logidze/engine.rb
CHANGED
data/lib/logidze/has_logidze.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
|
2
|
+
|
3
|
+
require "active_support"
|
3
4
|
|
4
5
|
module Logidze
|
5
6
|
# Add `has_logidze` method to AR::Base
|
@@ -9,10 +10,19 @@ module Logidze
|
|
9
10
|
module ClassMethods # :nodoc:
|
10
11
|
# Include methods to work with history.
|
11
12
|
#
|
12
|
-
|
13
|
-
def has_logidze(ignore_log_data: false)
|
13
|
+
def has_logidze(ignore_log_data: nil)
|
14
14
|
include Logidze::Model
|
15
|
-
include Logidze::IgnoreLogData
|
15
|
+
include Logidze::IgnoreLogData
|
16
|
+
|
17
|
+
@ignore_log_data = ignore_log_data
|
18
|
+
end
|
19
|
+
|
20
|
+
def ignores_log_data?
|
21
|
+
if @ignore_log_data.nil? && Logidze.ignore_log_data_by_default
|
22
|
+
!Logidze.force_load_log_data
|
23
|
+
else
|
24
|
+
@ignore_log_data
|
25
|
+
end
|
16
26
|
end
|
17
27
|
end
|
18
28
|
end
|
data/lib/logidze/history.rb
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
|
2
|
+
|
3
|
+
require "active_support/core_ext/module/delegation"
|
3
4
|
|
4
5
|
module Logidze
|
5
6
|
# Log data wrapper
|
6
7
|
class History
|
7
|
-
require
|
8
|
+
require "logidze/history/version"
|
8
9
|
|
9
10
|
# History key
|
10
|
-
HISTORY =
|
11
|
+
HISTORY = "h"
|
11
12
|
# Version key
|
12
|
-
VERSION =
|
13
|
+
VERSION = "v"
|
13
14
|
|
14
15
|
attr_reader :data
|
15
16
|
|
@@ -128,7 +129,7 @@ module Logidze
|
|
128
129
|
|
129
130
|
def build_changes(a, b)
|
130
131
|
b.each_with_object({}) do |(k, v), acc|
|
131
|
-
acc[k] = {
|
132
|
+
acc[k] = {"old" => a[k], "new" => v} unless v == a[k]
|
132
133
|
end
|
133
134
|
end
|
134
135
|
|
data/lib/logidze/history/type.rb
CHANGED
@@ -1,18 +1,19 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module Logidze
|
3
4
|
class History
|
4
5
|
# Represents one log item
|
5
6
|
class Version
|
6
7
|
# Timestamp key
|
7
|
-
TS =
|
8
|
+
TS = "ts"
|
8
9
|
# Changes key
|
9
|
-
CHANGES =
|
10
|
+
CHANGES = "c"
|
10
11
|
# Responsible ID
|
11
|
-
RESPONSIBLE =
|
12
|
+
RESPONSIBLE = "r"
|
12
13
|
# Meta Responsible ID
|
13
|
-
META_RESPONSIBLE =
|
14
|
+
META_RESPONSIBLE = "_r"
|
14
15
|
# Meta key
|
15
|
-
META =
|
16
|
+
META = "m"
|
16
17
|
|
17
18
|
attr_reader :data
|
18
19
|
|
@@ -1,8 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require "logidze/ignore_log_data/association"
|
4
|
+
|
3
5
|
module Logidze
|
4
|
-
|
5
|
-
module IgnoreLogData
|
6
|
+
module IgnoreLogData # :nodoc:
|
6
7
|
extend ActiveSupport::Concern
|
7
8
|
|
8
9
|
included do
|
@@ -16,15 +17,41 @@ module Logidze
|
|
16
17
|
|
17
18
|
require "logidze/ignore_log_data/missing_attribute_patch"
|
18
19
|
include MissingAttributePatch
|
20
|
+
|
21
|
+
require "logidze/ignore_log_data/default_scope_patch"
|
22
|
+
include DefaultScopePatch
|
19
23
|
end
|
20
24
|
|
21
25
|
self.ignored_columns += ["log_data"]
|
26
|
+
|
27
|
+
scope :with_log_data, lambda {
|
28
|
+
if ignored_columns == ["log_data"]
|
29
|
+
select("*")
|
30
|
+
else
|
31
|
+
select(column_names + ["log_data"])
|
32
|
+
end
|
33
|
+
}
|
22
34
|
end
|
23
35
|
|
24
36
|
module ClassMethods # :nodoc:
|
25
|
-
def
|
26
|
-
|
37
|
+
def self.default_scope
|
38
|
+
ignores_log_data? ? super : super.with_log_data
|
27
39
|
end
|
28
40
|
end
|
41
|
+
|
42
|
+
def association(name)
|
43
|
+
association = super
|
44
|
+
|
45
|
+
should_load_log_data =
|
46
|
+
attributes["log_data"] &&
|
47
|
+
association.klass.respond_to?(:has_logidze?) &&
|
48
|
+
!association.singleton_class.include?(Logidze::IgnoreLogData::Association)
|
49
|
+
|
50
|
+
return association unless should_load_log_data
|
51
|
+
|
52
|
+
association.singleton_class.prepend(Logidze::IgnoreLogData::Association)
|
53
|
+
|
54
|
+
association
|
55
|
+
end
|
29
56
|
end
|
30
57
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Logidze
|
4
|
+
module IgnoreLogData
|
5
|
+
# Since Rails caches ignored_columns, we have to patch .column_names and
|
6
|
+
# .unscoped methods to make conditional log_data loading possible
|
7
|
+
module DefaultScopePatch
|
8
|
+
extend ActiveSupport::Concern
|
9
|
+
|
10
|
+
class_methods do
|
11
|
+
def column_names
|
12
|
+
ignores_log_data? ? super : super + ["log_data"]
|
13
|
+
end
|
14
|
+
|
15
|
+
def unscoped
|
16
|
+
if ignores_log_data?
|
17
|
+
super
|
18
|
+
else
|
19
|
+
block_given? ? with_log_data.scoping { yield } : with_log_data
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -16,7 +16,7 @@ module Logidze
|
|
16
16
|
private
|
17
17
|
|
18
18
|
def build_select(arel)
|
19
|
-
if select_values.blank? && klass.ignored_columns.any?
|
19
|
+
if select_values.blank? && klass.ignored_columns.any? && ignores_log_data?
|
20
20
|
arel.project(*arel_columns(klass.column_names - klass.ignored_columns))
|
21
21
|
else
|
22
22
|
super
|
@@ -7,7 +7,9 @@ module Logidze
|
|
7
7
|
# from Rails 4 - raise ActiveModel::MissingAttributeError
|
8
8
|
module MissingAttributePatch
|
9
9
|
def log_data
|
10
|
-
|
10
|
+
if self.class.ignores_log_data? && attributes["log_data"].nil?
|
11
|
+
raise ActiveModel::MissingAttributeError
|
12
|
+
end
|
11
13
|
|
12
14
|
super
|
13
15
|
end
|
data/lib/logidze/meta.rb
CHANGED
@@ -10,7 +10,7 @@ module Logidze # :nodoc:
|
|
10
10
|
def with_responsible(responsible_id, &block)
|
11
11
|
return yield if responsible_id.nil?
|
12
12
|
|
13
|
-
meta = {
|
13
|
+
meta = {Logidze::History::Version::META_RESPONSIBLE => responsible_id}
|
14
14
|
with_meta(meta, &block)
|
15
15
|
end
|
16
16
|
|
data/lib/logidze/migration.rb
CHANGED
data/lib/logidze/model.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
|
2
|
+
|
3
|
+
require "active_support"
|
3
4
|
|
4
5
|
module Logidze
|
5
6
|
module Deprecations # :nodoc:
|
@@ -12,9 +13,8 @@ module Logidze
|
|
12
13
|
end
|
13
14
|
|
14
15
|
# Extends model with methods to browse history
|
15
|
-
# rubocop: disable Metrics/ModuleLength
|
16
16
|
module Model
|
17
|
-
require
|
17
|
+
require "logidze/history/type" if Rails::VERSION::MAJOR >= 5
|
18
18
|
|
19
19
|
extend ActiveSupport::Concern
|
20
20
|
|
@@ -53,6 +53,11 @@ module Logidze
|
|
53
53
|
true
|
54
54
|
end
|
55
55
|
# rubocop: enable Naming/PredicateName
|
56
|
+
|
57
|
+
# Nullify log_data column for a association
|
58
|
+
def reset_log_data
|
59
|
+
without_logging { update_all(log_data: nil) }
|
60
|
+
end
|
56
61
|
end
|
57
62
|
|
58
63
|
# Use this to convert Ruby time to milliseconds
|
@@ -136,7 +141,7 @@ module Logidze
|
|
136
141
|
|
137
142
|
changes.delete_if { |k, _v| deleted_column?(k) }
|
138
143
|
|
139
|
-
{
|
144
|
+
{"id" => id, "changes" => changes}
|
140
145
|
end
|
141
146
|
|
142
147
|
# Restore record to the previous version.
|
@@ -204,6 +209,11 @@ module Logidze
|
|
204
209
|
self.log_data = self.class.where(self.class.primary_key => id).pluck(:log_data).first
|
205
210
|
end
|
206
211
|
|
212
|
+
# Nullify log_data column for a single record
|
213
|
+
def reset_log_data
|
214
|
+
self.class.without_logging { update_column(:log_data, nil) }
|
215
|
+
end
|
216
|
+
|
207
217
|
protected
|
208
218
|
|
209
219
|
def apply_diff(version, diff)
|
data/lib/logidze/version.rb
CHANGED
data/logidze.gemspec
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
|
2
|
+
|
3
|
+
lib = File.expand_path("../lib", __FILE__)
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require
|
5
|
+
require "logidze/version"
|
5
6
|
|
6
7
|
Gem::Specification.new do |spec|
|
7
8
|
spec.name = "logidze"
|
@@ -17,17 +18,24 @@ Gem::Specification.new do |spec|
|
|
17
18
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
18
19
|
spec.require_paths = ["lib"]
|
19
20
|
|
21
|
+
spec.required_ruby_version = ">= 2.4.0"
|
22
|
+
|
23
|
+
spec.metadata = {
|
24
|
+
"bug_tracker_uri" => "http://github.com/palkan/logidze/issues",
|
25
|
+
"changelog_uri" => "https://github.com/palkan/logidze/blob/master/CHANGELOG.md",
|
26
|
+
"documentation_uri" => "http://github.com/palkan/logidze",
|
27
|
+
"homepage_uri" => "http://github.com/palkan/logidze",
|
28
|
+
"source_code_uri" => "http://github.com/palkan/logidze"
|
29
|
+
}
|
30
|
+
|
20
31
|
spec.add_dependency "rails", ">= 4.2"
|
21
32
|
|
22
33
|
spec.add_development_dependency "ammeter", "~> 1.1.3"
|
23
|
-
spec.add_development_dependency "bundler", "
|
24
|
-
spec.add_development_dependency "
|
25
|
-
spec.add_development_dependency "pg", "~>0.18"
|
26
|
-
spec.add_development_dependency "pry-byebug"
|
34
|
+
spec.add_development_dependency "bundler", ">= 1.10"
|
35
|
+
spec.add_development_dependency "pg", ">= 0.18"
|
27
36
|
spec.add_development_dependency "rake", ">= 10.0"
|
28
37
|
spec.add_development_dependency "rspec-rails", ">= 3.4"
|
29
|
-
spec.add_development_dependency "rubocop", "~> 0.60.0"
|
30
38
|
spec.add_development_dependency "rubocop-md", "~> 0.2.0"
|
31
|
-
spec.add_development_dependency "
|
39
|
+
spec.add_development_dependency "standard", "~> 0.0.39"
|
32
40
|
spec.add_development_dependency "timecop", "~> 0.8"
|
33
41
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logidze
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- palkan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-05-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -42,58 +42,30 @@ dependencies:
|
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '1'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '1'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: database_cleaner
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
45
|
+
- - ">="
|
60
46
|
- !ruby/object:Gem::Version
|
61
|
-
version: '1.
|
47
|
+
version: '1.10'
|
62
48
|
type: :development
|
63
49
|
prerelease: false
|
64
50
|
version_requirements: !ruby/object:Gem::Requirement
|
65
51
|
requirements:
|
66
|
-
- - "
|
52
|
+
- - ">="
|
67
53
|
- !ruby/object:Gem::Version
|
68
|
-
version: '1.
|
54
|
+
version: '1.10'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: pg
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0.18'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0.18'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: pry-byebug
|
85
57
|
requirement: !ruby/object:Gem::Requirement
|
86
58
|
requirements:
|
87
59
|
- - ">="
|
88
60
|
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
61
|
+
version: '0.18'
|
90
62
|
type: :development
|
91
63
|
prerelease: false
|
92
64
|
version_requirements: !ruby/object:Gem::Requirement
|
93
65
|
requirements:
|
94
66
|
- - ">="
|
95
67
|
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
68
|
+
version: '0.18'
|
97
69
|
- !ruby/object:Gem::Dependency
|
98
70
|
name: rake
|
99
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -122,20 +94,6 @@ dependencies:
|
|
122
94
|
- - ">="
|
123
95
|
- !ruby/object:Gem::Version
|
124
96
|
version: '3.4'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: rubocop
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - "~>"
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: 0.60.0
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - "~>"
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: 0.60.0
|
139
97
|
- !ruby/object:Gem::Dependency
|
140
98
|
name: rubocop-md
|
141
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -151,19 +109,19 @@ dependencies:
|
|
151
109
|
- !ruby/object:Gem::Version
|
152
110
|
version: 0.2.0
|
153
111
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
112
|
+
name: standard
|
155
113
|
requirement: !ruby/object:Gem::Requirement
|
156
114
|
requirements:
|
157
|
-
- - "
|
115
|
+
- - "~>"
|
158
116
|
- !ruby/object:Gem::Version
|
159
|
-
version: 0.
|
117
|
+
version: 0.0.39
|
160
118
|
type: :development
|
161
119
|
prerelease: false
|
162
120
|
version_requirements: !ruby/object:Gem::Requirement
|
163
121
|
requirements:
|
164
|
-
- - "
|
122
|
+
- - "~>"
|
165
123
|
- !ruby/object:Gem::Version
|
166
|
-
version: 0.
|
124
|
+
version: 0.0.39
|
167
125
|
- !ruby/object:Gem::Dependency
|
168
126
|
name: timecop
|
169
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -185,8 +143,10 @@ executables: []
|
|
185
143
|
extensions: []
|
186
144
|
extra_rdoc_files: []
|
187
145
|
files:
|
146
|
+
- ".gitattributes"
|
147
|
+
- ".github/ISSUE_TEMPLATE.md"
|
148
|
+
- ".github/PULL_REQUEST_TEMPLATE.md"
|
188
149
|
- ".gitignore"
|
189
|
-
- ".hound.yml"
|
190
150
|
- ".rspec"
|
191
151
|
- ".rubocop.yml"
|
192
152
|
- ".travis.yml"
|
@@ -195,6 +155,7 @@ files:
|
|
195
155
|
- LICENSE.txt
|
196
156
|
- README.md
|
197
157
|
- Rakefile
|
158
|
+
- assets/pg_log_data_chart.png
|
198
159
|
- bench/performance/README.md
|
199
160
|
- bench/performance/diff_bench.rb
|
200
161
|
- bench/performance/insert_bench.rb
|
@@ -214,6 +175,7 @@ files:
|
|
214
175
|
- gemfiles/rails42.gemfile
|
215
176
|
- gemfiles/rails5.gemfile
|
216
177
|
- gemfiles/rails52.gemfile
|
178
|
+
- gemfiles/rails6.gemfile
|
217
179
|
- gemfiles/railsmaster.gemfile
|
218
180
|
- lib/generators/logidze/install/USAGE
|
219
181
|
- lib/generators/logidze/install/install_generator.rb
|
@@ -229,7 +191,9 @@ files:
|
|
229
191
|
- lib/logidze/history/type.rb
|
230
192
|
- lib/logidze/history/version.rb
|
231
193
|
- lib/logidze/ignore_log_data.rb
|
194
|
+
- lib/logidze/ignore_log_data/association.rb
|
232
195
|
- lib/logidze/ignore_log_data/cast_attribute_patch.rb
|
196
|
+
- lib/logidze/ignore_log_data/default_scope_patch.rb
|
233
197
|
- lib/logidze/ignore_log_data/ignored_columns.rb
|
234
198
|
- lib/logidze/ignore_log_data/missing_attribute_patch.rb
|
235
199
|
- lib/logidze/meta.rb
|
@@ -241,7 +205,12 @@ files:
|
|
241
205
|
homepage: http://github.com/palkan/logidze
|
242
206
|
licenses:
|
243
207
|
- MIT
|
244
|
-
metadata:
|
208
|
+
metadata:
|
209
|
+
bug_tracker_uri: http://github.com/palkan/logidze/issues
|
210
|
+
changelog_uri: https://github.com/palkan/logidze/blob/master/CHANGELOG.md
|
211
|
+
documentation_uri: http://github.com/palkan/logidze
|
212
|
+
homepage_uri: http://github.com/palkan/logidze
|
213
|
+
source_code_uri: http://github.com/palkan/logidze
|
245
214
|
post_install_message:
|
246
215
|
rdoc_options: []
|
247
216
|
require_paths:
|
@@ -250,15 +219,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
250
219
|
requirements:
|
251
220
|
- - ">="
|
252
221
|
- !ruby/object:Gem::Version
|
253
|
-
version:
|
222
|
+
version: 2.4.0
|
254
223
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
255
224
|
requirements:
|
256
225
|
- - ">="
|
257
226
|
- !ruby/object:Gem::Version
|
258
227
|
version: '0'
|
259
228
|
requirements: []
|
260
|
-
|
261
|
-
rubygems_version: 2.7.7
|
229
|
+
rubygems_version: 3.0.3
|
262
230
|
signing_key:
|
263
231
|
specification_version: 4
|
264
232
|
summary: PostgreSQL JSON-based auditing
|