api-spec 0.2.1 → 0.3.0

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: 565ae1651de2c60fce66d86f56d951150c5c6b0e
4
- data.tar.gz: 699737e6e12f66c16081a28ce44a6a514d42dd35
3
+ metadata.gz: 20dc246b7c39ab5483989cd8e6b77641dd93d30a
4
+ data.tar.gz: 74cedcb42f137a4db3cce6ee894c912be6d2bd4c
5
5
  SHA512:
6
- metadata.gz: f631e82b8e66f007ce0e518981ff4dfaf696753ed8a7e42583b6c352c8a2a2dc80986199ffd75a56fd980325756cb1d9dd530a8bad871cde43e6d0283ca3d6aa
7
- data.tar.gz: 23ff6231a999ee0412f0842964c7e3b0904bc1e6ce75463c38b6fe10461cc9ab72926790befbe63048f7de905adaec657b5a0dc00e5f98f49ccfe194184532c2
6
+ metadata.gz: 7e991c9d77dd308b774c08f137f26d3d2a4b3dc911eda5549729613a171918b4d910faf5ecf1662de23136eb4c0c548283f9d812aebebcb4d2073e1319b5b6d3
7
+ data.tar.gz: 5d103439ab1591957744faefbd3af5469501d7d7d148ea7034a620d115eeb703b785abaec9dffac74adb3384a2172a48f20d1b01538edeeea48f5ac7b9236311
@@ -6,18 +6,35 @@ class ApiSpec
6
6
  end
7
7
 
8
8
  def get(key)
9
- state[key.to_sym]
9
+ state[key.to_sym] || call_helper(key)
10
+ end
11
+
12
+ def register_helper(key, &block)
13
+ helpers[key.to_sym] = block
10
14
  end
11
15
 
12
16
  def reset
13
17
  @state = {}
18
+ @helpers = {}
14
19
  end
15
20
 
16
21
  private
17
22
 
23
+ def call_helper(key)
24
+ if helpers[key.to_sym]
25
+ helpers[key.to_sym].call
26
+ else
27
+ nil
28
+ end
29
+ end
30
+
18
31
  def state
19
32
  @state ||= {}
20
33
  end
34
+
35
+ def helpers
36
+ @helpers ||= {}
37
+ end
21
38
  end
22
39
  end
23
40
  end
@@ -1,3 +1,3 @@
1
1
  class ApiSpec
2
- VERSION = "0.2.1"
2
+ VERSION = "0.3.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: api-spec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bruz Marzolf