passive_record 0.3.2 → 0.3.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 83a6c38dda9e3c3252ec8325518f58a104fb35ef
4
- data.tar.gz: 3ae2b4cf5b54670f14266f7559d1762c29d4c60a
3
+ metadata.gz: f2a727f0eddce997336fe91ab47ded8d9778365f
4
+ data.tar.gz: d4db3194d0dffcc25ef26a73bbe6b777c3ff55ed
5
5
  SHA512:
6
- metadata.gz: a1bd9db5acfff78fb3621cbe53c150e8be912965036e286b3731c34e15a2549b5e484ea5d64e47f2358ad1d6afdad82c0e82ed3ef31616a2fe7378bdac46d392
7
- data.tar.gz: 171710f47e725b9227404f9f733616fe58a682fe2fbc0f82e3239c1e048cad8558483e639df2a4e12d3ccfcde53befc65b67e92b104525e8ccbd0419f0f837fc
6
+ metadata.gz: 61397fdf078c03795f36ebaec7a0a198cffb1cb05a6afc89468bc174392df06c17fdc8b4fa7681e1f200570393ff403e4b6872701312fdbfdc61203a6a389941
7
+ data.tar.gz: 41e04c0eb08a0138cda6033ffa394440f0980fd174d3d579f0db62f5cb7d01a8e9293ff85a615e52b3d04af2acfdfe423c49d8673b4d7b58f5426289e5df7334
@@ -45,6 +45,19 @@ module PassiveRecord
45
45
  self
46
46
  end
47
47
 
48
+
49
+ def before_update_hooks
50
+ @hooks ||= []
51
+ @hooks.select { |hook| hook.kind == :before_update }
52
+ end
53
+
54
+ def before_update(*meth_syms, &blk)
55
+ hook = Hook.new(:before_update,*meth_syms,&blk)
56
+ @hooks ||= []
57
+ @hooks += [ hook ]
58
+ self
59
+ end
60
+
48
61
  def after_update_hooks
49
62
  @hooks ||= []
50
63
  @hooks.select { |hook| hook.kind == :after_update }
@@ -1,6 +1,10 @@
1
1
  module PassiveRecord
2
2
  module InstanceMethods
3
3
  def update(attrs={})
4
+ self.class.before_update_hooks.each do |hook|
5
+ hook.run(self)
6
+ end
7
+
4
8
  attrs.each do |k,v|
5
9
  send("#{k}=", v)
6
10
  end
@@ -8,6 +12,8 @@ module PassiveRecord
8
12
  self.class.after_update_hooks.each do |hook|
9
13
  hook.run(self)
10
14
  end
15
+
16
+ self
11
17
  end
12
18
 
13
19
  # from http://stackoverflow.com/a/8417341/90042
@@ -1,4 +1,4 @@
1
1
  module PassiveRecord
2
2
  # passive_record version
3
- VERSION = "0.3.2"
3
+ VERSION = "0.3.3"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: passive_record
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joseph Weissman