originator 3.0 → 3.1

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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/stampable.rb +12 -4
  4. data/originator.gemspec +2 -2
  5. metadata +2 -14
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3538e1c300e8493901bf8065ce785c5d10e2d8f9
4
- data.tar.gz: f947dd914d4e6f737b96c1b6a92208b6692d3564
3
+ metadata.gz: 7b6a4a76f2958286542fcf3830d6d5c9d306df56
4
+ data.tar.gz: fe0584b6a8b5bca18f060abc37e16acafdb5efda
5
5
  SHA512:
6
- metadata.gz: 00ae6b73e6ad3a1c0e9e6662e26ee820a74e6c3b962aafa9555c0a1eb5c7b58fca8c88c2a527204be25abd1a39f2e16f51031eaafc93782818701959031e127d
7
- data.tar.gz: be4df2f560d977609e744903eb87e6ddf343943af176cdabcdb14f7f21dbe6ced80bf5aaeb66b616a32d7135e4a88bc8a1d003532f8a0d7a455602e9b228f832
6
+ metadata.gz: 0c6e64ecc07670fb75d7326189a4fccb2eeb6e5bb06a5fe2198a19de7710d1e85b540c287d1b53a7c753bcc6996b36fe3548be6ce333457a62d26f0569f7bf72
7
+ data.tar.gz: e7006093a8552f9d5db2b1dca0a50abb777df63c133ac780b6686fd6f4c846bf2b17160f8fecac05dc53087334ac8d9d1913d3f4362291480e4e8d5963b3ef06
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.0
1
+ 3.1
@@ -46,6 +46,11 @@ module Ddb #:nodoc:
46
46
  # Defaults to :deleter_id when compatibility mode is off
47
47
  # Defaults to :deleted_by when compatibility mode is on
48
48
  class_attribute :deleter_attribute
49
+
50
+ # Define if the belongs_to association should be optional or not
51
+ # Defaults to true to mantain the old behavior
52
+ class_attribute :userstamp_optional
53
+
49
54
  end
50
55
  end
51
56
 
@@ -59,7 +64,8 @@ module Ddb #:nodoc:
59
64
  # :creator_attribute => :create_user,
60
65
  # :updater_attribute => :update_user,
61
66
  # :deleter_attribute => :delete_user
62
- # :deleter => true
67
+ # :deleter => true,
68
+ # :optional => true
63
69
  # end
64
70
  #
65
71
  # The method will automatically setup all the associations, and create <tt>before_save</tt>
@@ -73,6 +79,7 @@ module Ddb #:nodoc:
73
79
  :creator_attribute => (compatability ? :created_by : :creator_id),
74
80
  :updater_attribute => (compatability ? :updated_by : :updater_id),
75
81
  :deleter_attribute => (compatability ? :deleted_by : :deleter_id),
82
+ :optional => true,
76
83
  :deleter => !!(options.has_key?(:deleter_attribute) or defined?(Caboose::Acts::Paranoid))
77
84
  }.merge(options)
78
85
 
@@ -80,17 +87,18 @@ module Ddb #:nodoc:
80
87
  self.creator_attribute = defaults[:creator_attribute].to_sym
81
88
  self.updater_attribute = defaults[:updater_attribute].to_sym
82
89
  self.deleter_attribute = defaults[:deleter_attribute].to_sym
90
+ self.userstamp_optional = !!defaults[:optional]
83
91
 
84
92
  class_eval do
85
93
  klass = "::#{stamper_class_name.to_s.singularize.camelize}"
86
- belongs_to :creator, :class_name => klass, :foreign_key => creator_attribute
87
- belongs_to :updater, :class_name => klass, :foreign_key => updater_attribute
94
+ belongs_to :creator, :class_name => klass, :foreign_key => creator_attribute, optional: userstamp_optional
95
+ belongs_to :updater, :class_name => klass, :foreign_key => updater_attribute, optional: userstamp_optional
88
96
 
89
97
  before_validation :set_updater_attribute
90
98
  before_validation :set_creator_attribute, :on => :create
91
99
 
92
100
  if defaults[:deleter]
93
- belongs_to :deleter, :class_name => klass, :foreign_key => deleter_attribute
101
+ belongs_to :deleter, :class_name => klass, :foreign_key => deleter_attribute, optional: userstamp_optional
94
102
  before_destroy :set_deleter_attribute
95
103
  end
96
104
  end
@@ -70,8 +70,8 @@ Gem::Specification.new do |s|
70
70
  s.require_paths = ["lib"]
71
71
  s.rubygems_version = "1.8.11"
72
72
 
73
- s.add_runtime_dependency 'actionpack', '>= 4.0', '< 5.1'
74
- s.add_runtime_dependency 'activerecord', '>= 4.0', '< 5.1'
73
+ s.add_runtime_dependency 'actionpack', '>= 4.0'
74
+ s.add_runtime_dependency 'activerecord', '>= 4.0'
75
75
 
76
76
  if s.respond_to? :specification_version then
77
77
  s.specification_version = 3
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: originator
3
3
  version: !ruby/object:Gem::Version
4
- version: '3.0'
4
+ version: '3.1'
5
5
  platform: ruby
6
6
  authors:
7
7
  - DeLynn Berry
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-08-17 00:00:00.000000000 Z
12
+ date: 2017-09-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -18,9 +18,6 @@ dependencies:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
20
  version: '4.0'
21
- - - "<"
22
- - !ruby/object:Gem::Version
23
- version: '5.1'
24
21
  type: :runtime
25
22
  prerelease: false
26
23
  version_requirements: !ruby/object:Gem::Requirement
@@ -28,9 +25,6 @@ dependencies:
28
25
  - - ">="
29
26
  - !ruby/object:Gem::Version
30
27
  version: '4.0'
31
- - - "<"
32
- - !ruby/object:Gem::Version
33
- version: '5.1'
34
28
  - !ruby/object:Gem::Dependency
35
29
  name: activerecord
36
30
  requirement: !ruby/object:Gem::Requirement
@@ -38,9 +32,6 @@ dependencies:
38
32
  - - ">="
39
33
  - !ruby/object:Gem::Version
40
34
  version: '4.0'
41
- - - "<"
42
- - !ruby/object:Gem::Version
43
- version: '5.1'
44
35
  type: :runtime
45
36
  prerelease: false
46
37
  version_requirements: !ruby/object:Gem::Requirement
@@ -48,9 +39,6 @@ dependencies:
48
39
  - - ">="
49
40
  - !ruby/object:Gem::Version
50
41
  version: '4.0'
51
- - - "<"
52
- - !ruby/object:Gem::Version
53
- version: '5.1'
54
42
  description: This gem extends ActiveRecord::Base to add automatic updating of created_by
55
43
  and updated_by attributes of your models in much the same way that the ActiveRecord::Timestamp
56
44
  module updates created_(at/on) and updated_(at/on) attributes.