simple_audit_trail 0.0.1
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 +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +51 -0
- data/Rakefile +17 -0
- data/app/models/simple_audit_trail/audit.rb +9 -0
- data/config/routes.rb +2 -0
- data/db/migrate/20150512224022_create_simple_audit_trail_audits.rb +13 -0
- data/lib/simple_audit_trail.rb +44 -0
- data/lib/simple_audit_trail/engine.rb +12 -0
- data/lib/simple_audit_trail/version.rb +3 -0
- data/lib/tasks/simple_audit_trail_tasks.rake +4 -0
- data/spec/dummy/README.rdoc +261 -0
- data/spec/dummy/Rakefile +7 -0
- data/spec/dummy/app/assets/javascripts/application.js +15 -0
- data/spec/dummy/app/assets/stylesheets/application.css +13 -0
- data/spec/dummy/app/controllers/application_controller.rb +3 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/models/mr_torque.rb +4 -0
- data/spec/dummy/app/models/tina.rb +4 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/config/application.rb +65 -0
- data/spec/dummy/config/boot.rb +10 -0
- data/spec/dummy/config/database.yml +25 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +37 -0
- data/spec/dummy/config/environments/production.rb +67 -0
- data/spec/dummy/config/environments/test.rb +37 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/inflections.rb +15 -0
- data/spec/dummy/config/initializers/mime_types.rb +5 -0
- data/spec/dummy/config/initializers/secret_token.rb +7 -0
- data/spec/dummy/config/initializers/session_store.rb +8 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +5 -0
- data/spec/dummy/config/routes.rb +4 -0
- data/spec/dummy/db/migrate/20150513181325_create_tinas.rb +11 -0
- data/spec/dummy/db/migrate/20150513221356_create_mr_torques.rb +9 -0
- data/spec/dummy/db/schema.rb +40 -0
- data/spec/dummy/public/404.html +26 -0
- data/spec/dummy/public/422.html +26 -0
- data/spec/dummy/public/500.html +25 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/script/rails +6 -0
- data/spec/dummy/spec/factories/mr_torques.rb +6 -0
- data/spec/lib/simple_audit_trail_auditor_spec.rb +122 -0
- data/spec/models/simple_audit_trail/audit_spec.rb +15 -0
- data/spec/spec_helper.rb +35 -0
- metadata +270 -0
@@ -0,0 +1,40 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
# This file is auto-generated from the current state of the database. Instead
|
3
|
+
# of editing this file, please use the migrations feature of Active Record to
|
4
|
+
# incrementally modify your database, and then regenerate this schema definition.
|
5
|
+
#
|
6
|
+
# Note that this schema.rb definition is the authoritative source for your
|
7
|
+
# database schema. If you need to create the application database on another
|
8
|
+
# system, you should be using db:schema:load, not running all the migrations
|
9
|
+
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
|
10
|
+
# you'll amass, the slower it'll run and the greater likelihood for issues).
|
11
|
+
#
|
12
|
+
# It's strongly recommended to check this file into your version control system.
|
13
|
+
|
14
|
+
ActiveRecord::Schema.define(:version => 20150513221356) do
|
15
|
+
|
16
|
+
create_table "mr_torques", :force => true do |t|
|
17
|
+
t.string "todays_quote"
|
18
|
+
t.datetime "created_at", :null => false
|
19
|
+
t.datetime "updated_at", :null => false
|
20
|
+
end
|
21
|
+
|
22
|
+
create_table "simple_audit_trail_audits", :force => true do |t|
|
23
|
+
t.integer "simple_audit_trailable_id"
|
24
|
+
t.string "simple_audit_trailable_type"
|
25
|
+
t.integer "who_id"
|
26
|
+
t.text "from"
|
27
|
+
t.text "to"
|
28
|
+
t.datetime "created_at", :null => false
|
29
|
+
t.datetime "updated_at", :null => false
|
30
|
+
end
|
31
|
+
|
32
|
+
create_table "tinas", :force => true do |t|
|
33
|
+
t.integer "ladies"
|
34
|
+
t.integer "badonkadonks"
|
35
|
+
t.string "mushy_snugglebites"
|
36
|
+
t.datetime "created_at", :null => false
|
37
|
+
t.datetime "updated_at", :null => false
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>The page you were looking for doesn't exist (404)</title>
|
5
|
+
<style type="text/css">
|
6
|
+
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
|
7
|
+
div.dialog {
|
8
|
+
width: 25em;
|
9
|
+
padding: 0 4em;
|
10
|
+
margin: 4em auto 0 auto;
|
11
|
+
border: 1px solid #ccc;
|
12
|
+
border-right-color: #999;
|
13
|
+
border-bottom-color: #999;
|
14
|
+
}
|
15
|
+
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
|
16
|
+
</style>
|
17
|
+
</head>
|
18
|
+
|
19
|
+
<body>
|
20
|
+
<!-- This file lives in public/404.html -->
|
21
|
+
<div class="dialog">
|
22
|
+
<h1>The page you were looking for doesn't exist.</h1>
|
23
|
+
<p>You may have mistyped the address or the page may have moved.</p>
|
24
|
+
</div>
|
25
|
+
</body>
|
26
|
+
</html>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>The change you wanted was rejected (422)</title>
|
5
|
+
<style type="text/css">
|
6
|
+
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
|
7
|
+
div.dialog {
|
8
|
+
width: 25em;
|
9
|
+
padding: 0 4em;
|
10
|
+
margin: 4em auto 0 auto;
|
11
|
+
border: 1px solid #ccc;
|
12
|
+
border-right-color: #999;
|
13
|
+
border-bottom-color: #999;
|
14
|
+
}
|
15
|
+
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
|
16
|
+
</style>
|
17
|
+
</head>
|
18
|
+
|
19
|
+
<body>
|
20
|
+
<!-- This file lives in public/422.html -->
|
21
|
+
<div class="dialog">
|
22
|
+
<h1>The change you wanted was rejected.</h1>
|
23
|
+
<p>Maybe you tried to change something you didn't have access to.</p>
|
24
|
+
</div>
|
25
|
+
</body>
|
26
|
+
</html>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>We're sorry, but something went wrong (500)</title>
|
5
|
+
<style type="text/css">
|
6
|
+
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
|
7
|
+
div.dialog {
|
8
|
+
width: 25em;
|
9
|
+
padding: 0 4em;
|
10
|
+
margin: 4em auto 0 auto;
|
11
|
+
border: 1px solid #ccc;
|
12
|
+
border-right-color: #999;
|
13
|
+
border-bottom-color: #999;
|
14
|
+
}
|
15
|
+
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
|
16
|
+
</style>
|
17
|
+
</head>
|
18
|
+
|
19
|
+
<body>
|
20
|
+
<!-- This file lives in public/500.html -->
|
21
|
+
<div class="dialog">
|
22
|
+
<h1>We're sorry, but something went wrong.</h1>
|
23
|
+
</div>
|
24
|
+
</body>
|
25
|
+
</html>
|
File without changes
|
@@ -0,0 +1,6 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
|
3
|
+
|
4
|
+
APP_PATH = File.expand_path('../../config/application', __FILE__)
|
5
|
+
require File.expand_path('../../config/boot', __FILE__)
|
6
|
+
require 'rails/commands'
|
@@ -0,0 +1,122 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe SimpleAuditTrail::Auditor do
|
4
|
+
it "adds audit method to ActiveRecord::Base" do
|
5
|
+
expect(ActiveRecord::Base).to respond_to(:audit)
|
6
|
+
end
|
7
|
+
|
8
|
+
describe "audited model" do
|
9
|
+
it "can call #audit" do
|
10
|
+
expect {
|
11
|
+
Tina.create(:badonkadonks => 2, :ladies => 1)
|
12
|
+
}.to_not raise_error
|
13
|
+
end
|
14
|
+
|
15
|
+
it "has an audited_fields attribute" do
|
16
|
+
t = Tina.create(:badonkadonks => 2, :ladies => 1)
|
17
|
+
|
18
|
+
expect(t.audited_fields).to match_array(["badonkadonks", "ladies"])
|
19
|
+
end
|
20
|
+
|
21
|
+
context "#save" do
|
22
|
+
before do
|
23
|
+
@tina = Tina.create(
|
24
|
+
:badonkadonks => 0,
|
25
|
+
:ladies => 0
|
26
|
+
)
|
27
|
+
@tina.reload
|
28
|
+
end
|
29
|
+
context "when not configured to ignore user" do
|
30
|
+
context "when audited fields have changed" do
|
31
|
+
before do
|
32
|
+
@tina.badonkadonks = 1
|
33
|
+
|
34
|
+
# requires an audited_user_id
|
35
|
+
@tina.audited_user_id = 123
|
36
|
+
end
|
37
|
+
|
38
|
+
it "creates a SimpleAuditTrail::Audit record" do
|
39
|
+
expect {
|
40
|
+
@tina.save
|
41
|
+
}.to change(SimpleAuditTrail::Audit, :count).by(1)
|
42
|
+
end
|
43
|
+
|
44
|
+
context "the newly created simple_audits record" do
|
45
|
+
before do
|
46
|
+
@tina.save!
|
47
|
+
end
|
48
|
+
|
49
|
+
it "is an instance of SimpleAuditTrail::Audit" do
|
50
|
+
expect(@tina.simple_audits.last).to be_kind_of SimpleAuditTrail::Audit
|
51
|
+
end
|
52
|
+
|
53
|
+
it "has a json hash for what the audited values were" do
|
54
|
+
expect(JSON.parse(@tina.simple_audits.last.from)).
|
55
|
+
to eq JSON.parse("{\"ladies\":0,\"badonkadonks\":0}")
|
56
|
+
end
|
57
|
+
it "has a json hash for what the audited values are" do
|
58
|
+
expect(JSON.parse(@tina.simple_audits.last.to)).
|
59
|
+
to eq JSON.parse("{\"ladies\":0,\"badonkadonks\":1}")
|
60
|
+
end
|
61
|
+
it "has a who_id for the user who made the change" do
|
62
|
+
expect(@tina.simple_audits.last.who_id).to eq 123
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
context "when audited fields have not changed" do
|
68
|
+
before do
|
69
|
+
@tina.mushy_snugglebites = "
|
70
|
+
That's Mushy Snugglebites' badonkadonk. She's my main squeeze.
|
71
|
+
Lady's got a gut fulla' dynamite and a booty like POOOW!
|
72
|
+
"
|
73
|
+
@tina.audited_user_id = 123
|
74
|
+
end
|
75
|
+
it "does not create a SimpleAuditTrail::Audit record" do
|
76
|
+
expect{
|
77
|
+
@tina.save
|
78
|
+
}.to_not change(SimpleAuditTrail::Audit, :count)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
context "when configured to ignore user" do
|
84
|
+
before do
|
85
|
+
@torque = MrTorque.create(
|
86
|
+
:todays_quote => "THAT SENTENCE HAD TOO MANY SYLLABLES! APOLOGIZE!"
|
87
|
+
)
|
88
|
+
@torque.reload
|
89
|
+
end
|
90
|
+
|
91
|
+
it "does not raise errors when audit_user_id is empty" do
|
92
|
+
@torque.todays_quote =
|
93
|
+
"Right now, you're ranked fifty in the badass leaderboards,
|
94
|
+
which puts you behind my grandma but ahead of a guy she gummed to
|
95
|
+
death. IT TOOK SEVERAL HOURS."
|
96
|
+
expect {
|
97
|
+
@torque.save
|
98
|
+
}.to_not raise_error
|
99
|
+
end
|
100
|
+
it "does not raise errors when audit_user_id is not empty" do
|
101
|
+
@torque.todays_quote =
|
102
|
+
"If you're still alive, grab some ammo. If you're not,
|
103
|
+
THIS MESSAGE IS IRRELEVANT!"
|
104
|
+
@torque.audited_user_id = 345
|
105
|
+
expect {
|
106
|
+
@torque.save
|
107
|
+
}.to_not raise_error
|
108
|
+
end
|
109
|
+
|
110
|
+
it "creates a SimpleAuditTrail::Audit record" do
|
111
|
+
@torque.todays_quote =
|
112
|
+
"If you're still alive, grab some ammo. If you're not,
|
113
|
+
THIS MESSAGE IS IRRELEVANT!"
|
114
|
+
@torque.audited_user_id = 345
|
115
|
+
expect {
|
116
|
+
@torque.save
|
117
|
+
}.to change(SimpleAuditTrail::Audit, :count).by(1)
|
118
|
+
end
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require_relative '../../spec_helper'
|
2
|
+
|
3
|
+
describe SimpleAuditTrail::Audit do
|
4
|
+
before do
|
5
|
+
@audit = SimpleAuditTrail::Audit.new(
|
6
|
+
:from => {:badonkadonks => 20}.to_json,
|
7
|
+
:to => {:badonkadonks => 21}.to_json,
|
8
|
+
:who_id => 29)
|
9
|
+
end
|
10
|
+
|
11
|
+
it "can be instantiated" do
|
12
|
+
expect(@audit).to be_kind_of SimpleAuditTrail::Audit
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
ENV['RAILS_ENV'] ||= 'test'
|
2
|
+
|
3
|
+
require_relative "dummy/config/environment"
|
4
|
+
|
5
|
+
require 'rspec/rails'
|
6
|
+
require 'factory_girl_rails'
|
7
|
+
require 'database_cleaner'
|
8
|
+
require 'byebug'
|
9
|
+
|
10
|
+
Rails.backtrace_cleaner.remove_silencers!
|
11
|
+
|
12
|
+
# Load support files
|
13
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
14
|
+
|
15
|
+
RSpec.configure do |config|
|
16
|
+
config.mock_with :rspec
|
17
|
+
|
18
|
+
config.infer_base_class_for_anonymous_controllers = false
|
19
|
+
|
20
|
+
config.order = "random"
|
21
|
+
|
22
|
+
config.use_transactional_fixtures = false
|
23
|
+
|
24
|
+
config.before(:suite) do
|
25
|
+
DatabaseCleaner.strategy = :truncation
|
26
|
+
end
|
27
|
+
|
28
|
+
config.before(:each) do
|
29
|
+
DatabaseCleaner.start
|
30
|
+
end
|
31
|
+
|
32
|
+
config.after(:each) do
|
33
|
+
DatabaseCleaner.clean
|
34
|
+
end
|
35
|
+
end
|
metadata
ADDED
@@ -0,0 +1,270 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: simple_audit_trail
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Christopher Maujean
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-05-14 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rails
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '3.2'
|
20
|
+
- - '>='
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 3.2.21
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '3.2'
|
30
|
+
- - '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 3.2.21
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: sqlite3
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ~>
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '1.3'
|
40
|
+
- - '>='
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 1.3.10
|
43
|
+
type: :development
|
44
|
+
prerelease: false
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - ~>
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '1.3'
|
50
|
+
- - '>='
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 1.3.10
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: rspec-rails
|
55
|
+
requirement: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - ~>
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '3.2'
|
60
|
+
- - '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 3.2.1
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ~>
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '3.2'
|
70
|
+
- - '>='
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: 3.2.1
|
73
|
+
- !ruby/object:Gem::Dependency
|
74
|
+
name: capybara
|
75
|
+
requirement: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - ~>
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '2.4'
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 2.4.4
|
83
|
+
type: :development
|
84
|
+
prerelease: false
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ~>
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '2.4'
|
90
|
+
- - '>='
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: 2.4.4
|
93
|
+
- !ruby/object:Gem::Dependency
|
94
|
+
name: factory_girl_rails
|
95
|
+
requirement: !ruby/object:Gem::Requirement
|
96
|
+
requirements:
|
97
|
+
- - ~>
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: '4.5'
|
100
|
+
- - '>='
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: 4.5.0
|
103
|
+
type: :development
|
104
|
+
prerelease: false
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '4.5'
|
110
|
+
- - '>='
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: 4.5.0
|
113
|
+
- !ruby/object:Gem::Dependency
|
114
|
+
name: database_cleaner
|
115
|
+
requirement: !ruby/object:Gem::Requirement
|
116
|
+
requirements:
|
117
|
+
- - ~>
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: '1.4'
|
120
|
+
- - '>='
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: 1.4.1
|
123
|
+
type: :development
|
124
|
+
prerelease: false
|
125
|
+
version_requirements: !ruby/object:Gem::Requirement
|
126
|
+
requirements:
|
127
|
+
- - ~>
|
128
|
+
- !ruby/object:Gem::Version
|
129
|
+
version: '1.4'
|
130
|
+
- - '>='
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: 1.4.1
|
133
|
+
- !ruby/object:Gem::Dependency
|
134
|
+
name: byebug
|
135
|
+
requirement: !ruby/object:Gem::Requirement
|
136
|
+
requirements:
|
137
|
+
- - ~>
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
version: '4.0'
|
140
|
+
- - '>='
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: 4.0.5
|
143
|
+
type: :development
|
144
|
+
prerelease: false
|
145
|
+
version_requirements: !ruby/object:Gem::Requirement
|
146
|
+
requirements:
|
147
|
+
- - ~>
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: '4.0'
|
150
|
+
- - '>='
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: 4.0.5
|
153
|
+
description: "\n A simple audit trail for your ActiveRecord model, with a minimum
|
154
|
+
of fuss.\n stores a before and after hash of the fields you want audited, whenever
|
155
|
+
a\n change is made.\n "
|
156
|
+
email:
|
157
|
+
- cmaujean@repairpal.com
|
158
|
+
executables: []
|
159
|
+
extensions: []
|
160
|
+
extra_rdoc_files: []
|
161
|
+
files:
|
162
|
+
- MIT-LICENSE
|
163
|
+
- README.md
|
164
|
+
- Rakefile
|
165
|
+
- app/models/simple_audit_trail/audit.rb
|
166
|
+
- config/routes.rb
|
167
|
+
- db/migrate/20150512224022_create_simple_audit_trail_audits.rb
|
168
|
+
- lib/simple_audit_trail.rb
|
169
|
+
- lib/simple_audit_trail/engine.rb
|
170
|
+
- lib/simple_audit_trail/version.rb
|
171
|
+
- lib/tasks/simple_audit_trail_tasks.rake
|
172
|
+
- spec/dummy/README.rdoc
|
173
|
+
- spec/dummy/Rakefile
|
174
|
+
- spec/dummy/app/assets/javascripts/application.js
|
175
|
+
- spec/dummy/app/assets/stylesheets/application.css
|
176
|
+
- spec/dummy/app/controllers/application_controller.rb
|
177
|
+
- spec/dummy/app/helpers/application_helper.rb
|
178
|
+
- spec/dummy/app/models/mr_torque.rb
|
179
|
+
- spec/dummy/app/models/tina.rb
|
180
|
+
- spec/dummy/app/views/layouts/application.html.erb
|
181
|
+
- spec/dummy/config.ru
|
182
|
+
- spec/dummy/config/application.rb
|
183
|
+
- spec/dummy/config/boot.rb
|
184
|
+
- spec/dummy/config/database.yml
|
185
|
+
- spec/dummy/config/environment.rb
|
186
|
+
- spec/dummy/config/environments/development.rb
|
187
|
+
- spec/dummy/config/environments/production.rb
|
188
|
+
- spec/dummy/config/environments/test.rb
|
189
|
+
- spec/dummy/config/initializers/backtrace_silencers.rb
|
190
|
+
- spec/dummy/config/initializers/inflections.rb
|
191
|
+
- spec/dummy/config/initializers/mime_types.rb
|
192
|
+
- spec/dummy/config/initializers/secret_token.rb
|
193
|
+
- spec/dummy/config/initializers/session_store.rb
|
194
|
+
- spec/dummy/config/initializers/wrap_parameters.rb
|
195
|
+
- spec/dummy/config/locales/en.yml
|
196
|
+
- spec/dummy/config/routes.rb
|
197
|
+
- spec/dummy/db/migrate/20150513181325_create_tinas.rb
|
198
|
+
- spec/dummy/db/migrate/20150513221356_create_mr_torques.rb
|
199
|
+
- spec/dummy/db/schema.rb
|
200
|
+
- spec/dummy/public/404.html
|
201
|
+
- spec/dummy/public/422.html
|
202
|
+
- spec/dummy/public/500.html
|
203
|
+
- spec/dummy/public/favicon.ico
|
204
|
+
- spec/dummy/script/rails
|
205
|
+
- spec/dummy/spec/factories/mr_torques.rb
|
206
|
+
- spec/lib/simple_audit_trail_auditor_spec.rb
|
207
|
+
- spec/models/simple_audit_trail/audit_spec.rb
|
208
|
+
- spec/spec_helper.rb
|
209
|
+
homepage: http://github.com/RepairPal/simple_audit_trail
|
210
|
+
licenses:
|
211
|
+
- MIT
|
212
|
+
metadata: {}
|
213
|
+
post_install_message:
|
214
|
+
rdoc_options: []
|
215
|
+
require_paths:
|
216
|
+
- lib
|
217
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
218
|
+
requirements:
|
219
|
+
- - '>='
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: '0'
|
222
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
223
|
+
requirements:
|
224
|
+
- - '>='
|
225
|
+
- !ruby/object:Gem::Version
|
226
|
+
version: '0'
|
227
|
+
requirements: []
|
228
|
+
rubyforge_project:
|
229
|
+
rubygems_version: 2.2.2
|
230
|
+
signing_key:
|
231
|
+
specification_version: 4
|
232
|
+
summary: a simple audit trail plugin for active record models
|
233
|
+
test_files:
|
234
|
+
- spec/dummy/app/assets/javascripts/application.js
|
235
|
+
- spec/dummy/app/assets/stylesheets/application.css
|
236
|
+
- spec/dummy/app/controllers/application_controller.rb
|
237
|
+
- spec/dummy/app/helpers/application_helper.rb
|
238
|
+
- spec/dummy/app/models/mr_torque.rb
|
239
|
+
- spec/dummy/app/models/tina.rb
|
240
|
+
- spec/dummy/app/views/layouts/application.html.erb
|
241
|
+
- spec/dummy/config/application.rb
|
242
|
+
- spec/dummy/config/boot.rb
|
243
|
+
- spec/dummy/config/database.yml
|
244
|
+
- spec/dummy/config/environment.rb
|
245
|
+
- spec/dummy/config/environments/development.rb
|
246
|
+
- spec/dummy/config/environments/production.rb
|
247
|
+
- spec/dummy/config/environments/test.rb
|
248
|
+
- spec/dummy/config/initializers/backtrace_silencers.rb
|
249
|
+
- spec/dummy/config/initializers/inflections.rb
|
250
|
+
- spec/dummy/config/initializers/mime_types.rb
|
251
|
+
- spec/dummy/config/initializers/secret_token.rb
|
252
|
+
- spec/dummy/config/initializers/session_store.rb
|
253
|
+
- spec/dummy/config/initializers/wrap_parameters.rb
|
254
|
+
- spec/dummy/config/locales/en.yml
|
255
|
+
- spec/dummy/config/routes.rb
|
256
|
+
- spec/dummy/config.ru
|
257
|
+
- spec/dummy/db/migrate/20150513181325_create_tinas.rb
|
258
|
+
- spec/dummy/db/migrate/20150513221356_create_mr_torques.rb
|
259
|
+
- spec/dummy/db/schema.rb
|
260
|
+
- spec/dummy/public/404.html
|
261
|
+
- spec/dummy/public/422.html
|
262
|
+
- spec/dummy/public/500.html
|
263
|
+
- spec/dummy/public/favicon.ico
|
264
|
+
- spec/dummy/Rakefile
|
265
|
+
- spec/dummy/README.rdoc
|
266
|
+
- spec/dummy/script/rails
|
267
|
+
- spec/dummy/spec/factories/mr_torques.rb
|
268
|
+
- spec/lib/simple_audit_trail_auditor_spec.rb
|
269
|
+
- spec/models/simple_audit_trail/audit_spec.rb
|
270
|
+
- spec/spec_helper.rb
|