trackstamps-reborn 0.0.3 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fadfa370c842bc476bfa043e9fbf39403f63670a04688cfec1dbf71fa6e08aa6
4
- data.tar.gz: 75b0cdeb8330a0532c44abc9666c2636786481934d4aba58d99784d004e99269
3
+ metadata.gz: 47b8037687df6e16b2ca5d66a07c2d3da27c7146c36718356c62ad428458de8e
4
+ data.tar.gz: 7261748050c07bc01c95cdc57811781b4e6a05292c14145771a5b1052258e37d
5
5
  SHA512:
6
- metadata.gz: 18b286fe9b6431c629ba07bd8c324ad4d8e25405968d6ee411e984a05abff1580f0e7786b1f9bc98d700f00a8e3809691c760921081ad85550640f62f28350c8
7
- data.tar.gz: c360f942e6dafa16d5b592ddafccfe02646b24b1a0363cd0b1e320ba0d47e99872840b97508d6de6ab71d25aaca945d2d1de3d169500449dd5e0ac4d89f8127f
6
+ metadata.gz: edc4eb2e953309e523126fbeae51c27034e1910ce9c0e328e5d6ab79cd42b326e2744ba263e49fb0281de5d13eb23231a04504b5f264e43b12861b354c90def4
7
+ data.tar.gz: 91c1210eebecb2174ebdf864a914217b845675f2702242be116d58306c5d14709d6110281c96eb1fa1ebe4198a81944e14bcdefa812f1c2f02c7565e2e92f830
data/README.md CHANGED
@@ -6,6 +6,8 @@
6
6
 
7
7
  Track which user created or updated record in Rails.
8
8
 
9
+ Inspired and part of code used from original [Trackstamps](https://github.com/mshahzadtariq/trackstamps) gem
10
+
9
11
  ---
10
12
 
11
13
  - [Quick start](#quick-start)
@@ -32,6 +34,12 @@ class ApplicationController < ActionController::Base
32
34
  end
33
35
  ```
34
36
 
37
+ ### Override implementation for current user
38
+
39
+ ```ruby
40
+ Trackstamps::Reborn.config.get_current_user = -> { YourCurrentAttributesClass.account }
41
+ ```
42
+
35
43
  ### Generate migrations
36
44
  ```
37
45
  rails generate trackstamps:reborn:migration table_name
@@ -1,5 +1,5 @@
1
1
  module Trackstamps
2
2
  module Reborn
3
- VERSION = "0.0.3".freeze
3
+ VERSION = "0.0.5".freeze
4
4
  end
5
5
  end
@@ -1,35 +1,47 @@
1
1
  require 'trackstamps/reborn/current'
2
2
  require 'active_support/current_attributes'
3
3
  require 'active_support/concern'
4
+ require 'dry-configurable'
4
5
 
5
6
  module Trackstamps
6
7
  module Reborn
8
+ extend Dry::Configurable
7
9
  extend ActiveSupport::Concern
8
10
  autoload :VERSION, "trackstamps/reborn/version"
9
11
 
12
+ setting :get_current_user, default: -> { Trackstamps::Reborn::Current.user }
13
+
14
+ setting :user_class_name, default: 'User'.freeze
15
+ setting :updater_foreign_key, default: 'updated_by_id'.freeze
16
+ setting :creator_foreign_key, default: 'created_by_id'.freeze
17
+
10
18
  def trackstamps_current_user
11
- Current.user
19
+ Trackstamps::Reborn.config.get_current_user.call
12
20
  end
13
21
 
14
- TRACKSTAMPS_USER_CLASS_NAME = 'User'
15
- TRACKSTAMPS_UPDATER_FOREIGN_KEY = 'updated_by_id'
16
- TRACKSTAMPS_CREATOR_FOREIGN_KEY = 'created_by_id'
17
-
18
22
  included do
19
23
  before_save :trackstamps_set_updater
20
24
  before_create :trackstamps_set_creator
21
25
 
22
- belongs_to :updater, class_name: TRACKSTAMPS_USER_CLASS_NAME, foreign_key: TRACKSTAMPS_UPDATER_FOREIGN_KEY, optional: true
23
- belongs_to :creator, class_name: TRACKSTAMPS_USER_CLASS_NAME, foreign_key: TRACKSTAMPS_CREATOR_FOREIGN_KEY, optional: true
26
+ belongs_to :updater,
27
+ class_name: Trackstamps::Reborn.config.user_class_name,
28
+ foreign_key: Trackstamps::Reborn.config.updater_foreign_key,
29
+ optional: true
30
+ belongs_to :creator,
31
+ class_name: Trackstamps::Reborn.config.user_class_name,
32
+ foreign_key: Trackstamps::Reborn.config.creator_foreign_key,
33
+ optional: true
24
34
 
25
35
  def trackstamps_set_updater
26
36
  return unless trackstamps_current_user
27
- self.send("#{TRACKSTAMPS_UPDATER_FOREIGN_KEY}=", trackstamps_current_user.id)
37
+
38
+ send("#{Trackstamps::Reborn.config.updater_foreign_key}=", trackstamps_current_user.id)
28
39
  end
29
40
 
30
41
  def trackstamps_set_creator
31
42
  return unless trackstamps_current_user
32
- self.send("#{TRACKSTAMPS_CREATOR_FOREIGN_KEY}=", trackstamps_current_user.id)
43
+
44
+ send("#{Trackstamps::Reborn.config.creator_foreign_key}=", trackstamps_current_user.id)
33
45
  end
34
46
  end
35
47
  end
metadata CHANGED
@@ -1,29 +1,49 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trackstamps-reborn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dušan
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-10-17 00:00:00.000000000 Z
11
+ date: 2022-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '5.2'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '8'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: '5.2'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '8'
33
+ - !ruby/object:Gem::Dependency
34
+ name: dry-configurable
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
27
47
  description:
28
48
  email:
29
49
  - dusan.uveric@mitigate.dev
@@ -55,14 +75,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
55
75
  requirements:
56
76
  - - ">="
57
77
  - !ruby/object:Gem::Version
58
- version: '2.6'
78
+ version: 2.7.0
59
79
  required_rubygems_version: !ruby/object:Gem::Requirement
60
80
  requirements:
61
81
  - - ">="
62
82
  - !ruby/object:Gem::Version
63
83
  version: '0'
64
84
  requirements: []
65
- rubygems_version: 3.3.7
85
+ rubygems_version: 3.3.23
66
86
  signing_key:
67
87
  specification_version: 4
68
88
  summary: ''