arjad_version_tracker 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/arjad_version_tracker/version.rb +1 -1
- data/lib/arjad_version_tracker.rb +17 -5
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f26478c83a70195d1381665777bf4509baf76e4bcbb4a27242d21bf91caac204
|
4
|
+
data.tar.gz: d451bc11bc45cbac2fbd45914619bf334caedfb4ffabea2f1b8db4e5a5975404
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c2abfa7c800505c38facc8d59b3d8fecfc1370f7629d75f51dda699070dd93e667bcf9b6262fce084a36319fce949b0eb39397a8e51327c431831c14357e91ec
|
7
|
+
data.tar.gz: 7167dde0168edc51206811e9c2df2fb0929b354c7cbdb0f969b14b1960aa4d13944982f52b9ad57d328518ce4f8d5fda6fda0e413b408a67a55ab4e565c41cc5
|
@@ -1,8 +1,20 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require_relative "arjad_version_tracker/version"
|
1
|
+
require "active_record"
|
4
2
|
|
5
3
|
module ArjadVersionTracker
|
6
|
-
|
7
|
-
|
4
|
+
extend ActiveSupport::Concern
|
5
|
+
|
6
|
+
included do
|
7
|
+
has_many :versions, class_name: "#{self.name}Version", dependent: :destroy
|
8
|
+
before_update :track_version
|
9
|
+
end
|
10
|
+
|
11
|
+
def last_version
|
12
|
+
versions.order(created_at: :desc).first
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def track_version
|
18
|
+
versions.create!(attributes.except("id", "created_at", "updated_at"))
|
19
|
+
end
|
8
20
|
end
|