passive_record 0.3.2 → 0.3.3

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: 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