baa 0.0.0 → 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/baa.rb +37 -2
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ed591759d402a6dbceb3a625692f21cc6aa0aa16
4
- data.tar.gz: 298854f905d34b1cfda077df6dcf2a99e82401c1
3
+ metadata.gz: e791d82cfb0daa8895c55781a3902a41561d450e
4
+ data.tar.gz: ab840027211669e157222c80379fa3a43cf05812
5
5
  SHA512:
6
- metadata.gz: 08f35017cfd23a98996106f65fba4bf6677b84993bf20fc7f5180a2d39c79986e4645c2da436a93ad6d2d44ca62a48f3aa5cdace21784fa15e54e9a651765fc2
7
- data.tar.gz: 1dca42956c1a8291aadae6913ce4e1d6a2fa09162bf481530a0cb0e945fa4afdb2107ff36f38d985dbafc79827e30c86662f3f67c337810c03f0f53d059f7833
6
+ metadata.gz: bec5ad6a99fa0a57c328b09e731754fd44b22990ae3c5232d7886a0ece5f82a0829f812c28f98a98992ebc4cf8f5d1a581075cce8933af90444284c35b21475c
7
+ data.tar.gz: b09431cb42afe794545498e7e1b3222aad3d618dbe17e9a863c47f3f9727811ec4426284f723c069911ea36934aa817a92ee5f84fa91b021266d7a8760d8b5fc
data/lib/baa.rb CHANGED
@@ -1,7 +1,42 @@
1
1
  class BAA
2
2
  module Hooks
3
- def hook
4
- puts "hello"
3
+ @@_baa_hooks = {before: [], after: [], around: []}
4
+
5
+ def before(*names)
6
+ names.each do |name|
7
+ m = instance_method(name)
8
+ define_method(name) do |*args, &block|
9
+ yield
10
+ m.bind(self).(*args, &block)
11
+ end
12
+ @@_baa_hooks[:before] << name
13
+ end
14
+ @@_baa_hooks
15
+ end
16
+
17
+ def after(*names)
18
+ names.each do |name|
19
+ m = instance_method(name)
20
+ define_method(name) do |*args, &block|
21
+ m.bind(self).(*args, &block)
22
+ yield
23
+ end
24
+ @@_baa_hooks[:after] << name
25
+ end
26
+ @@_baa_hooks
27
+ end
28
+
29
+ def around(*names, pre_method_name)
30
+ names.each do |name|
31
+ m = instance_method(name)
32
+ define_method(name) do |*args, &block|
33
+ self.send(pre_method_name)
34
+ m.bind(self).(*args, &block)
35
+ yield
36
+ end
37
+ @@_baa_hooks[:around] << name
38
+ end
39
+ @@_baa_hooks
5
40
  end
6
41
  end
7
42
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: baa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Whimsical Doodles