bogo 0.2.0 → 0.2.2

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: 1dacafff18dc493dc666556a19dc6101b92ef094
4
- data.tar.gz: 6136251cf57fd703b419be1388afc55100947589
3
+ metadata.gz: 67d66974c6df70fceac173ca8680912765ceaae4
4
+ data.tar.gz: 2e26a1f90da6457d69625321f9867299a93eeac1
5
5
  SHA512:
6
- metadata.gz: 464e14906ca0c7167a6ba7498879b112e7d84852461cefd79b55ad463b1b424a6378e2a68ef97e514eac7ace2dfc65c0350cc78a70f04c11fc67fb7fdbf57d8e
7
- data.tar.gz: 173432af63e7e80d4a42bf041a9d46b48daac6e3360c5e9ac0f5a6f7e757f955861f1ee901de13a797d70f143c048f14a15339d688a1452297ff695333e68bf0
6
+ metadata.gz: f34d39dfe7ba722109b8d91d22cbd5bd4c309faa0b5830e8a9f0eac5542dcc0f135bee8a9fa4d9ad3ab1a4a43930ad0710f5d7b680b2d392a08e6af5c4604215
7
+ data.tar.gz: be7510b79b8bc3666bf93f705ee7d8da97f18a6acebdab02f6abc3e13365277e05b951551773625c63e8fdc5f2d91fa5990b53ff6c3c6d0128ae6862943a0c3d
@@ -1,3 +1,6 @@
1
+ # v0.2.2
2
+ * [Memoization] Add #memoized? helper
3
+
1
4
  # v0.2.0
2
5
  * [Lazy] Map #attributes to #data when flagged always clean
3
6
 
@@ -72,6 +72,25 @@ module Bogo
72
72
  Thread.current[:bogo_memoization]
73
73
  end
74
74
 
75
+ # Check if memoization entry for given key exists
76
+ #
77
+ # @param key [String, Symbol] identifier for data
78
+ # @param direct [Truthy, Falsey] direct skips key prepend of object id
79
+ # @return [TrueClass, FalseClass]
80
+ def memoized?(key, direct=false)
81
+ unless(direct)
82
+ key = "#{self.object_id}_#{key}"
83
+ end
84
+ if(direct == :global)
85
+ Thread.exclusive do
86
+ $bogo_memoization ||= Smash.new
87
+ $bogo_memoization.key?(key)
88
+ end
89
+ else
90
+ _memo.key?(key)
91
+ end
92
+ end
93
+
75
94
  # Remove memoized value
76
95
  #
77
96
  # @param key [String, Symbol] identifier for data
@@ -1,4 +1,4 @@
1
1
  module Bogo
2
2
  # Current library version
3
- VERSION = Gem::Version.new('0.2.0')
3
+ VERSION = Gem::Version.new('0.2.2')
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bogo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Roberts
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-18 00:00:00.000000000 Z
11
+ date: 2016-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: hashie