sequel-auditer 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +12 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +6 -0
- data/LICENSE.txt +21 -0
- data/README.md +614 -0
- data/Rakefile +33 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/env.test.sample +7 -0
- data/lib/sequel/auditer.rb +37 -0
- data/lib/sequel/auditer/railtie.rb +26 -0
- data/lib/sequel/auditer/version.rb +5 -0
- data/lib/sequel/plugins/auditer.rb +325 -0
- data/lib/tasks/sequel-auditer/migrate.rake +18 -0
- data/lib/tasks/sequel-auditer/templates/audited_migration.rb +21 -0
- data/sequel-auditer.gemspec +39 -0
- metadata +200 -0
@@ -0,0 +1,18 @@
|
|
1
|
+
namespace :audited do
|
2
|
+
namespace :migrate do
|
3
|
+
desc 'Installs Sequel::Audited migration, but does not run it'
|
4
|
+
task :install do
|
5
|
+
num = Dir["#{Dir.pwd}/db/migrate/*.rb"].sort.last[0, 3] ||= '001'
|
6
|
+
|
7
|
+
FileUtils.cp(
|
8
|
+
"#{File.dirname(__FILE__)}/templates/audited_migration.rb",
|
9
|
+
"#{Dir.pwd}/db/migrate/#{num}_create_audited_table.rb"
|
10
|
+
)
|
11
|
+
end
|
12
|
+
|
13
|
+
desc 'Updates existing Sequel::Audited migration files with amendments'
|
14
|
+
task :update do
|
15
|
+
puts 'TODO: no updates required yet'
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
Sequel.migration do
|
2
|
+
# created by sequel-audited gem
|
3
|
+
|
4
|
+
change do
|
5
|
+
create_table(:audit_logs) do
|
6
|
+
primary_key :id
|
7
|
+
String :associated_type
|
8
|
+
Integer :associated_id
|
9
|
+
String :event
|
10
|
+
String :changed, text: true
|
11
|
+
Integer :version
|
12
|
+
Integer :modifier_id
|
13
|
+
String :modifier_type
|
14
|
+
String :additional_info, text: true
|
15
|
+
DateTime :created_at
|
16
|
+
|
17
|
+
index [:associated_type, :associated_id]
|
18
|
+
index [:modifier_type, :modifier_id]
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
|
2
|
+
lib = File.expand_path("../lib", __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require "sequel/auditer/version"
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "sequel-auditer"
|
8
|
+
spec.version = Sequel::Auditer::VERSION
|
9
|
+
spec.authors = ['Kematzy', 'tohchye', 'jnylen', 'gencer']
|
10
|
+
spec.email = ["gencer@nienbo.co.uk"]
|
11
|
+
|
12
|
+
spec.summary = %q{A Sequel plugin that logs changes made to an audited model, including who created, updated and destroyed the record, and what was changed and when the change was made.}
|
13
|
+
spec.description = %q{A Sequel plugin that logs changes made to an audited model, including who created, updated and destroyed the record, and what was changed and when the change was made. This plugin provides model auditing (a.k.a: record versioning) for DB scenarios when DB triggers are not possible. (ie: on a web app on Heroku).}
|
14
|
+
spec.homepage = "https://github.com/gencer/sequel-auditer"
|
15
|
+
spec.license = "MIT"
|
16
|
+
|
17
|
+
# Specify which files should be added to the gem when it is released.
|
18
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
19
|
+
spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
20
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
21
|
+
end
|
22
|
+
spec.bindir = "exe"
|
23
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
24
|
+
spec.require_paths = ["lib"]
|
25
|
+
|
26
|
+
|
27
|
+
spec.add_runtime_dependency 'sequel', '>=4.0.0', '<6'
|
28
|
+
spec.add_runtime_dependency 'sequel_polymorphic', '>= 0.3.1'
|
29
|
+
|
30
|
+
spec.add_development_dependency "bundler", "~> 1.16"
|
31
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
32
|
+
spec.add_development_dependency 'minitest', '~> 5.8'
|
33
|
+
spec.add_development_dependency 'minitest-hooks', '~> 1.2'
|
34
|
+
spec.add_development_dependency 'sqlite3', '~> 1.3'
|
35
|
+
spec.add_development_dependency 'simplecov', '~> 0.10'
|
36
|
+
spec.add_development_dependency 'dotenv'
|
37
|
+
|
38
|
+
|
39
|
+
end
|
metadata
ADDED
@@ -0,0 +1,200 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: sequel-auditer
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Kematzy
|
8
|
+
- tohchye
|
9
|
+
- jnylen
|
10
|
+
- gencer
|
11
|
+
autorequire:
|
12
|
+
bindir: exe
|
13
|
+
cert_chain: []
|
14
|
+
date: 2018-09-30 00:00:00.000000000 Z
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: sequel
|
18
|
+
requirement: !ruby/object:Gem::Requirement
|
19
|
+
requirements:
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 4.0.0
|
23
|
+
- - "<"
|
24
|
+
- !ruby/object:Gem::Version
|
25
|
+
version: '6'
|
26
|
+
type: :runtime
|
27
|
+
prerelease: false
|
28
|
+
version_requirements: !ruby/object:Gem::Requirement
|
29
|
+
requirements:
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 4.0.0
|
33
|
+
- - "<"
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: '6'
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: sequel_polymorphic
|
38
|
+
requirement: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 0.3.1
|
43
|
+
type: :runtime
|
44
|
+
prerelease: false
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - ">="
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: 0.3.1
|
50
|
+
- !ruby/object:Gem::Dependency
|
51
|
+
name: bundler
|
52
|
+
requirement: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - "~>"
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '1.16'
|
57
|
+
type: :development
|
58
|
+
prerelease: false
|
59
|
+
version_requirements: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - "~>"
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '1.16'
|
64
|
+
- !ruby/object:Gem::Dependency
|
65
|
+
name: rake
|
66
|
+
requirement: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - "~>"
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '10.0'
|
71
|
+
type: :development
|
72
|
+
prerelease: false
|
73
|
+
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - "~>"
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '10.0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: minitest
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - "~>"
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: '5.8'
|
85
|
+
type: :development
|
86
|
+
prerelease: false
|
87
|
+
version_requirements: !ruby/object:Gem::Requirement
|
88
|
+
requirements:
|
89
|
+
- - "~>"
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: '5.8'
|
92
|
+
- !ruby/object:Gem::Dependency
|
93
|
+
name: minitest-hooks
|
94
|
+
requirement: !ruby/object:Gem::Requirement
|
95
|
+
requirements:
|
96
|
+
- - "~>"
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '1.2'
|
99
|
+
type: :development
|
100
|
+
prerelease: false
|
101
|
+
version_requirements: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - "~>"
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: '1.2'
|
106
|
+
- !ruby/object:Gem::Dependency
|
107
|
+
name: sqlite3
|
108
|
+
requirement: !ruby/object:Gem::Requirement
|
109
|
+
requirements:
|
110
|
+
- - "~>"
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '1.3'
|
113
|
+
type: :development
|
114
|
+
prerelease: false
|
115
|
+
version_requirements: !ruby/object:Gem::Requirement
|
116
|
+
requirements:
|
117
|
+
- - "~>"
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: '1.3'
|
120
|
+
- !ruby/object:Gem::Dependency
|
121
|
+
name: simplecov
|
122
|
+
requirement: !ruby/object:Gem::Requirement
|
123
|
+
requirements:
|
124
|
+
- - "~>"
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: '0.10'
|
127
|
+
type: :development
|
128
|
+
prerelease: false
|
129
|
+
version_requirements: !ruby/object:Gem::Requirement
|
130
|
+
requirements:
|
131
|
+
- - "~>"
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '0.10'
|
134
|
+
- !ruby/object:Gem::Dependency
|
135
|
+
name: dotenv
|
136
|
+
requirement: !ruby/object:Gem::Requirement
|
137
|
+
requirements:
|
138
|
+
- - ">="
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
version: '0'
|
141
|
+
type: :development
|
142
|
+
prerelease: false
|
143
|
+
version_requirements: !ruby/object:Gem::Requirement
|
144
|
+
requirements:
|
145
|
+
- - ">="
|
146
|
+
- !ruby/object:Gem::Version
|
147
|
+
version: '0'
|
148
|
+
description: 'A Sequel plugin that logs changes made to an audited model, including
|
149
|
+
who created, updated and destroyed the record, and what was changed and when the
|
150
|
+
change was made. This plugin provides model auditing (a.k.a: record versioning)
|
151
|
+
for DB scenarios when DB triggers are not possible. (ie: on a web app on Heroku).'
|
152
|
+
email:
|
153
|
+
- gencer@nienbo.co.uk
|
154
|
+
executables: []
|
155
|
+
extensions: []
|
156
|
+
extra_rdoc_files: []
|
157
|
+
files:
|
158
|
+
- ".gitignore"
|
159
|
+
- CODE_OF_CONDUCT.md
|
160
|
+
- Gemfile
|
161
|
+
- LICENSE.txt
|
162
|
+
- README.md
|
163
|
+
- Rakefile
|
164
|
+
- bin/console
|
165
|
+
- bin/setup
|
166
|
+
- env.test.sample
|
167
|
+
- lib/sequel/auditer.rb
|
168
|
+
- lib/sequel/auditer/railtie.rb
|
169
|
+
- lib/sequel/auditer/version.rb
|
170
|
+
- lib/sequel/plugins/auditer.rb
|
171
|
+
- lib/tasks/sequel-auditer/migrate.rake
|
172
|
+
- lib/tasks/sequel-auditer/templates/audited_migration.rb
|
173
|
+
- sequel-auditer.gemspec
|
174
|
+
homepage: https://github.com/gencer/sequel-auditer
|
175
|
+
licenses:
|
176
|
+
- MIT
|
177
|
+
metadata: {}
|
178
|
+
post_install_message:
|
179
|
+
rdoc_options: []
|
180
|
+
require_paths:
|
181
|
+
- lib
|
182
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
183
|
+
requirements:
|
184
|
+
- - ">="
|
185
|
+
- !ruby/object:Gem::Version
|
186
|
+
version: '0'
|
187
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
188
|
+
requirements:
|
189
|
+
- - ">="
|
190
|
+
- !ruby/object:Gem::Version
|
191
|
+
version: '0'
|
192
|
+
requirements: []
|
193
|
+
rubyforge_project:
|
194
|
+
rubygems_version: 2.7.6
|
195
|
+
signing_key:
|
196
|
+
specification_version: 4
|
197
|
+
summary: A Sequel plugin that logs changes made to an audited model, including who
|
198
|
+
created, updated and destroyed the record, and what was changed and when the change
|
199
|
+
was made.
|
200
|
+
test_files: []
|