activerecord-redundancy 0.2.1 → 0.2.2

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
  SHA1:
3
- metadata.gz: 41b65c1e7a56135707a84e2028e4d07be0c4ed9a
4
- data.tar.gz: 021e14c2f54682a7658c7e4a11c6f3943b900e1d
3
+ metadata.gz: 504c28b1fdbd3e01948e48a5823d95148023ce59
4
+ data.tar.gz: fbd3a059de3d014b8b20bbc1da47a53e08ecc2e8
5
5
  SHA512:
6
- metadata.gz: a463c3a228f91bee25525606bc449a5a18ecc496dd317b5195df4bbc431ed0ba1b1bbb11040217abce62ea3a01b2898df70b468081c20f4dab16c5159210ea99
7
- data.tar.gz: bf576b1df2eec66b1dd649a0820a574c81f3965038c5ee7762420e89a048b745ee9afae57b631f08f68cccde8ef2793318c41fc703ce04bb76f72b19472b848d
6
+ metadata.gz: 60c35703583a72dc60dc140ad45ccb346192cdd92116ab9a88e5a09ba6e33275b4cd1dd36fcbe4e4ff349ee00ec8de2e99fd7419b26bd2433b41af88fc63c94f
7
+ data.tar.gz: ac6f62a775f5db3fe3d19dfdd1658db2e5c188a13522fab4d9670ac933579603638a70019d12fb4a67328b7acb28407266d8c2e291f82a0a7502f55539b54939
@@ -3,7 +3,8 @@ module Redundancy
3
3
  class UpdateBase
4
4
  attr_reader :options
5
5
  attr_reader :source, :dest, :klass
6
- attr_reader :change_if, :update, :target, :value
6
+ attr_reader :change_if, :update, :force
7
+ attr_reader :target, :value
7
8
 
8
9
  def initialize options
9
10
  @options = options
@@ -14,6 +15,13 @@ module Redundancy
14
15
  @update = options[:update] || false
15
16
  end
16
17
 
18
+ def force_update! record
19
+ @force = true
20
+ @update = true
21
+ before_save record
22
+ after_save record
23
+ end
24
+
17
25
  def before_save record
18
26
  end
19
27
 
@@ -76,11 +84,12 @@ module Redundancy
76
84
  end
77
85
 
78
86
  def need_update? record
79
- !change_if || record.send(:attribute_changed?, change_if)
87
+ @force || !change_if || record.send(:attribute_changed?, change_if)
80
88
  end
81
89
 
82
- def log *message
83
- # puts *message
90
+ # require 'colorize'
91
+ def log message
92
+ # puts " Redundancy ".colorize(:green) + message
84
93
  end
85
94
 
86
95
  end
@@ -13,7 +13,6 @@ module Redundancy
13
13
  end
14
14
 
15
15
  def after_save record
16
- return unless need_update? record
17
16
  return unless target
18
17
 
19
18
  get_value_from_target record
@@ -1,3 +1,3 @@
1
1
  module Redundancy
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
data/lib/redundancy.rb CHANGED
@@ -24,8 +24,7 @@ module Redundancy
24
24
 
25
25
  def update_redundacies
26
26
  self.class.redundacies.each do |redundancy|
27
- redundancy.before_save(self)
28
- redundancy.after_save(self)
27
+ redundancy.force_update!(self)
29
28
  end
30
29
  end
31
30
 
@@ -44,6 +43,14 @@ module Redundancy
44
43
  @redundacies ||= []
45
44
  end
46
45
 
46
+ def update_redundacies
47
+ all.each do |record|
48
+ redundacies.each do |redundancy|
49
+ redundancy.force_update!(record)
50
+ end
51
+ end
52
+ end
53
+
47
54
  end
48
55
 
49
56
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-redundancy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Theo