sequel-auditer 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: []