api-spec 0.2.1 → 0.3.0

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