timelines 0.2.3 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9e0fcaa71f51ce05f909e1476d3697c19cbce690f581357a4dcc0507154456dd
4
- data.tar.gz: 8d8f0580bd04c4dca4f7f64d17b889a68eb11d689f006d24aeff8364632aed28
3
+ metadata.gz: b596c9a86e1cb9a8773f9394a6d71ab6f2e4cd521f89eda1f6ac434cbf059e42
4
+ data.tar.gz: 57236b6ed3b91ebe95afabedf0d192c277dd5d6127d810504a2f4b9c6a0db487
5
5
  SHA512:
6
- metadata.gz: 80767881c109435b0f5b2e6c1da160f7cd57dd21d2c0b2ad0a0c6793beff2a930e11b2f159b0327ed813dd28435e461818cc533b5c8c244ead969b877d6c0f88
7
- data.tar.gz: cbc54257925c045ea37ac59b85bd3f842060f6d28665cee5dd96a70a4b63affb6202a905c108cd74787186688e719a4abc64622998b3a739f850cf740a0a0417
6
+ metadata.gz: 8d02c52990e934303148e6ad8a2bbc021911d3fe21522ba8336ed481334a300e2c4419526dd516b1f1f986c14d5d6c6f6a4d92ece505354d2968d74c5a0b8628
7
+ data.tar.gz: 48248ca65e37a9aed7757f5c129385f25a2047845e252444f5a04394d701f435a439a8487ddf385c840501474287769791c345eba62f90270afc2f02347b516c
data/README.md CHANGED
@@ -10,6 +10,12 @@ include Timelines::Ephemeral
10
10
 
11
11
  This gives you the following Instance methods:
12
12
  ```ruby
13
+ # Returns an AuditTrail object containing the resource and any associated events, in chronological order
14
+ .audit_trail
15
+
16
+ # Returns an AuditTrail object containing the resource and any associated events, in reverse order
17
+ .audit_trail(reverse: true)
18
+
13
19
  # Returns a boolean indicating whether the record is currently active
14
20
  .active?
15
21
 
@@ -0,0 +1,15 @@
1
+ module Timelines
2
+ class AuditTrail
3
+ include ActiveModel::Model
4
+ include ActiveModel::Attributes
5
+ include ActiveModel::Validations
6
+
7
+ attribute :resource
8
+ attribute :reverse
9
+ attribute :events
10
+
11
+ def events
12
+ reverse ? resource.events.reverse : resource.events
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,11 @@
1
+ require "active_support/concern"
2
+
3
+ module Timelines
4
+ module HasAuditTrail
5
+ extend ActiveSupport::Concern
6
+
7
+ def audit_trail(reverse: false)
8
+ ::Timelines::AuditTrail.new(resource: self, reverse: reverse)
9
+ end
10
+ end
11
+ end
@@ -1,3 +1,3 @@
1
1
  module Timelines
2
- VERSION = "0.2.3"
2
+ VERSION = "0.3.0"
3
3
  end
data/lib/timelines.rb CHANGED
@@ -1,6 +1,8 @@
1
1
  require "timelines/version"
2
2
  require "timelines/models/concerns/ephemeral"
3
3
  require "timelines/models/concerns/has_events"
4
+ require "timelines/models/concerns/has_audit_trail"
5
+ require "timelines/models/concerns/audit_trail"
4
6
  require "timelines/models/event"
5
7
 
6
8
  module Timelines
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: timelines
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Craig Gilchrist
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-18 00:00:00.000000000 Z
11
+ date: 2024-05-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -39,7 +39,9 @@ files:
39
39
  - lib/generators/timelines/install/templates/create_timelines_events.rb
40
40
  - lib/tasks/timelines_tasks.rake
41
41
  - lib/timelines.rb
42
+ - lib/timelines/models/concerns/audit_trail.rb
42
43
  - lib/timelines/models/concerns/ephemeral.rb
44
+ - lib/timelines/models/concerns/has_audit_trail.rb
43
45
  - lib/timelines/models/concerns/has_events.rb
44
46
  - lib/timelines/models/event.rb
45
47
  - lib/timelines/version.rb
@@ -65,7 +67,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
65
67
  - !ruby/object:Gem::Version
66
68
  version: '0'
67
69
  requirements: []
68
- rubygems_version: 3.5.4
70
+ rubygems_version: 3.5.10
69
71
  signing_key:
70
72
  specification_version: 4
71
73
  summary: Library for managing historical records.