originator 3.0 → 3.1

Sign up to get free protection for your applications and to get access to all the features.
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.