transcript 0.2.1 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/generators/transcript/install_generator.rb +1 -0
- data/lib/transcript/controller.rb +2 -2
- data/lib/transcript/job.rb +2 -1
- data/lib/transcript/version.rb +1 -1
- data/spec/audit_entry_spec.rb +1 -0
- data/spec/dummy/db/migrate/20160823152659_create_audit_entries.rb +1 -0
- data/spec/dummy/db/schema.rb +1 -0
- data/spec/dummy/test/factories/audit_entries.rb +1 -0
- data/spec/factories.rb +1 -0
- data/spec/transcript/controller_spec.rb +8 -4
- data/spec/transcript/job_spec.rb +2 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e40cbe00a5f0d1cbdbd6a0788aee7ee43cc5ec65
|
4
|
+
data.tar.gz: fdbd435fbfbc04acac4bf6a7f3a01f2c57e526aa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bff92a3f1a25b83eea7ab70e107cfa70112ed56f39c4858399a3d9f8d7bcaacef7fa1aad659774414bd6f9a336d75e64f222255cacb734db23c3080294e252d1
|
7
|
+
data.tar.gz: c2d234318b68cd987f881500f2f6fa877c655109d6254c6a1a929c514f6b3e0ea673893795d7ab337a3e120e2355585a0ea8da0410566e05624ae43426986a8f
|
data/Gemfile.lock
CHANGED
@@ -4,10 +4,10 @@ module Transcript
|
|
4
4
|
module Controller
|
5
5
|
extend ActiveSupport::Concern
|
6
6
|
|
7
|
-
def audit_action(actor, receiver, action = action_name)
|
7
|
+
def audit_action(actor, receiver, action = action_name, meta = nil)
|
8
8
|
Transcript::Job.send(
|
9
9
|
Transcript.configuration.job_method,
|
10
|
-
actor, receiver, action
|
10
|
+
actor, receiver, action, meta
|
11
11
|
)
|
12
12
|
end
|
13
13
|
end
|
data/lib/transcript/job.rb
CHANGED
@@ -4,11 +4,12 @@ module Transcript
|
|
4
4
|
class Job < ActiveJob::Base
|
5
5
|
queue_as :default
|
6
6
|
|
7
|
-
def perform(actor, receiver, action)
|
7
|
+
def perform(actor, receiver, action, meta)
|
8
8
|
Transcript.configuration.audit_model.create(
|
9
9
|
actor: actor,
|
10
10
|
action: action,
|
11
11
|
receiver: receiver,
|
12
|
+
meta: meta,
|
12
13
|
receiver_serialized: receiver,
|
13
14
|
)
|
14
15
|
end
|
data/lib/transcript/version.rb
CHANGED
data/spec/audit_entry_spec.rb
CHANGED
@@ -7,6 +7,7 @@ RSpec.describe AuditEntry, type: :model do
|
|
7
7
|
it { is_expected.to have_db_column(:action).of_type(:string) }
|
8
8
|
# TODO This should be :jsonb, which doesn't work with SQLite
|
9
9
|
it { is_expected.to have_db_column(:receiver_serialized).of_type(:string) }
|
10
|
+
it { is_expected.to have_db_column(:meta).of_type(:string) }
|
10
11
|
it { is_expected.to have_db_column(:receiver_id).of_type(:integer) }
|
11
12
|
it { is_expected.to have_db_column(:receiver_type).of_type(:string) }
|
12
13
|
it { is_expected.to have_db_column(:actor_id).of_type(:integer) }
|
data/spec/dummy/db/schema.rb
CHANGED
@@ -19,6 +19,7 @@ ActiveRecord::Schema.define(version: 20160823152659) do
|
|
19
19
|
t.string "receiver_type"
|
20
20
|
t.integer "receiver_id"
|
21
21
|
t.string "receiver_serialized"
|
22
|
+
t.string "meta"
|
22
23
|
t.datetime "created_at", null: false
|
23
24
|
t.datetime "updated_at", null: false
|
24
25
|
t.index ["actor_type", "actor_id"], name: "index_audit_entries_on_actor_type_and_actor_id"
|
data/spec/factories.rb
CHANGED
@@ -5,7 +5,8 @@ RSpec.describe Transcript::Controller, type: :controller do
|
|
5
5
|
def edit
|
6
6
|
@user = FactoryGirl.create(:user)
|
7
7
|
@post = FactoryGirl.create(:post)
|
8
|
-
|
8
|
+
@meta = "metadata"
|
9
|
+
audit_action @user, @post, @meta
|
9
10
|
|
10
11
|
head :ok
|
11
12
|
end
|
@@ -13,7 +14,8 @@ RSpec.describe Transcript::Controller, type: :controller do
|
|
13
14
|
def custom
|
14
15
|
@user = FactoryGirl.create(:user)
|
15
16
|
@post = FactoryGirl.create(:post)
|
16
|
-
|
17
|
+
@meta = "metadata"
|
18
|
+
audit_action @user, @post, "custom", @meta
|
17
19
|
|
18
20
|
head :ok
|
19
21
|
end
|
@@ -26,10 +28,11 @@ RSpec.describe Transcript::Controller, type: :controller do
|
|
26
28
|
get :edit
|
27
29
|
|
28
30
|
expect(Transcript::Job).to have_been_enqueued
|
29
|
-
.with do |actor, receiver, action|
|
31
|
+
.with do |actor, receiver, action, meta|
|
30
32
|
expect(actor).to be_a User
|
31
33
|
expect(receiver).to be_a Post
|
32
34
|
expect(action).to eq "edit"
|
35
|
+
expect(meta).to eq "metadata"
|
33
36
|
end
|
34
37
|
end
|
35
38
|
|
@@ -40,10 +43,11 @@ RSpec.describe Transcript::Controller, type: :controller do
|
|
40
43
|
get :custom
|
41
44
|
|
42
45
|
expect(Transcript::Job).to have_been_enqueued
|
43
|
-
.with do |actor, receiver, action|
|
46
|
+
.with do |actor, receiver, action, meta|
|
44
47
|
expect(actor).to be_a User
|
45
48
|
expect(receiver).to be_a Post
|
46
49
|
expect(action).to eq "custom"
|
50
|
+
expect(meta).to eq "metadata"
|
47
51
|
end
|
48
52
|
end
|
49
53
|
end
|
data/spec/transcript/job_spec.rb
CHANGED
@@ -6,9 +6,10 @@ RSpec.describe Transcript::Job, type: :job do
|
|
6
6
|
it "creates an audit entry for the given objects" do
|
7
7
|
user = create(:user)
|
8
8
|
post = create(:post)
|
9
|
+
reference = "metadata"
|
9
10
|
|
10
11
|
expect {
|
11
|
-
Transcript::Job.perform_now(user, post, "edit")
|
12
|
+
Transcript::Job.perform_now(user, post, "edit", reference)
|
12
13
|
}.to change(AuditEntry, :count).by(1)
|
13
14
|
end
|
14
15
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: transcript
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Logan Leger
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-07-
|
12
|
+
date: 2017-07-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: ammeter
|