bytemapper 1.0.24 → 1.0.25

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
  SHA256:
3
- metadata.gz: ea6f9b415c3147f7af5584a41f5f6c49dbe68fd7137771e6930bba37c8164400
4
- data.tar.gz: c40ea7b989e39da462f13a2a9e43730eb8efdfdf5e5b4053d0c4d9ffd1eecd43
3
+ metadata.gz: dce11df6e4ad42a1c8a81853d2e9188fd9a3caaa02692ef12a58dedcae33e296
4
+ data.tar.gz: f95e339d989e6346651cc45d07ca0ae1ffd55e2b0a8bd0071b0014b28aa9868c
5
5
  SHA512:
6
- metadata.gz: dfbbbd391b56398a95d77bb2e0777241684f4621d0d16a782af0dde25c10afa186817839e01ef659c15aa7b1a46ed7aab0c6a5811c08e8cc15b51fef0ec8ff41
7
- data.tar.gz: 8c6e57cdf80bb6b921444a5b4d48ee56b682644534d411e9079fc7551018ed692415caa72066588d90c7966816bdc3ad7ee89600beca782afcace6656932f14a
6
+ metadata.gz: 56c5919a1f298fe359eb3931e941965ac43d003ddf2691c2b93394ca8b0dbdba88ef9b64c55cdda5d0902ac148776bfcc6f6aa7c45d43d6320d5a5f028c0cbfd
7
+ data.tar.gz: '0698b1a5cc71653eb4044f920f4e4428244c88a8cc08ec22c72324e9943efdbbf0e1c7ec7da91bd319c61fdd3c4a3f9e9271889098f503fbb4f3ad52f112d03c'
@@ -113,5 +113,21 @@ module Bytemapper
113
113
  def reset(with_basic_types = true)
114
114
  @@registry = Registry.new(with_basic_types)
115
115
  end
116
+
117
+ def reverse_lookup(prefix, value = nil)
118
+ @@rl_cache ||= {}
119
+ prefix = "#{prefix.to_s}_"
120
+ lookup = @@rl_cache[prefix]
121
+
122
+ if lookup.nil?
123
+ labels = names.filter { |n| n.start_with?(prefix) }
124
+ values = labels.map { |l| get(l) }
125
+ lookup = Hash[values.zip(labels)]
126
+ @@rl_cache[prefix] = lookup
127
+ end
128
+
129
+ value.nil? ? lookup : lookup[value]
130
+ end
131
+
116
132
  end
117
133
  end
@@ -17,8 +17,9 @@
17
17
  module Bytemapper
18
18
  require 'bytemapper/flattenable'
19
19
  class Chunk < Hash
20
+ include Nameable
20
21
  include Flattenable
21
- attr_reader :bytes, :shape, :name
22
+ attr_reader :bytes, :shape
22
23
 
23
24
  def initialize(bytes, shape, name)
24
25
  @name = name
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bytemapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.24
4
+ version: 1.0.25
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jefferson Hudson