transcript 0.2.1 → 0.3.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/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
|