bhash 1.1.1 → 1.1.2

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/bhash.rb +29 -15
  3. data/lib/bhash/version.rb +1 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 06abfb95541ef4e0ba3d27f3a3079b23e41f0bdfa96957ef7b0a2524265b1f0e
4
- data.tar.gz: 8766417cd7933e1b0a9f6440f56721d93281023a7aa874a6a147261bee9d5780
3
+ metadata.gz: fa0d4b5e3b8b48ee4c23fd80cbe6e91ecc452c46b5f37ef7855023765204b981
4
+ data.tar.gz: d72a4d2eefdb981116bf9c6e566c200d7f7857182dc973d312aa93f16d15e266
5
5
  SHA512:
6
- metadata.gz: 9ea8f780f248825ab05154ac9af2e575aa85017c778ffcd97d1fb4eef72130fe76bcd191ac8756a6f6156fcc2817f8121f53bd2b255354fbb40fc62138c925e3
7
- data.tar.gz: c4c53ffe18c02baaf4e63fb6a15f15a77309ba0943767ee85ccb2cac7d92d21b43f0ab257d76dcfa4179ffe651138e024c6fbfb541dad724f4c3a167c40ed611
6
+ metadata.gz: f82bb102973650f71e56938289efea4a9486cead0906f1f0173bbff0e274517bd6897c74f34c8c52754706139f0cf3cd22c13fdf474031a2f8d6843357bbf448
7
+ data.tar.gz: 34d6854acefd95a1c8d2340aa5476cc0f858a5cf0791445a3e05405e9d6ff132c21abf1843bc89bb2586595c06effc79d815a02b17bd6515b250aae1bf528d64
data/lib/bhash.rb CHANGED
@@ -1,13 +1,20 @@
1
1
  require "bhash/version"
2
2
 
3
3
 
4
+
4
5
  class BHash
5
6
 
6
- def initialize()
7
+ def initialize(hmap = nil)
7
8
  @hash = Hash.new()
8
9
  @rhash = Hash.new()
10
+ if hmap
11
+ hmap.each do |r,s|
12
+ add(r,s)
13
+ end
14
+ end
9
15
  end
10
16
 
17
+
11
18
  def find(h)
12
19
  if @hash.has_key?(h)
13
20
  return @hash[h]
@@ -17,19 +24,27 @@ class BHash
17
24
  return nil
18
25
  end
19
26
 
20
- def add(r,s)
21
- if not present?(r)
22
- else
23
- raise "Error! #{r} already Present"
24
- return
25
- end
26
- if not present?(s)
27
- else
28
- raise "Error! #{s} already Present"
29
- return
27
+ def add(r, s = nil)
28
+ if s
29
+ if not present?(r)
30
+ else
31
+ raise "Error! #{r} already Present"
32
+ return
33
+ end
34
+ if not present?(s)
35
+ else
36
+ raise "Error! #{s} already Present"
37
+ return
38
+ end
39
+ @hash[r] = s
40
+ @rhash[s] = r
41
+ elsif r.is_a?(Hash)
42
+ r.each do |r,s|
43
+ add(r,s)
44
+ end
45
+ else
46
+ raise "Error! Invalid Type"
30
47
  end
31
- @hash[r] = s
32
- @rhash[s] = r
33
48
  end
34
49
 
35
50
  def delete(h)
@@ -47,7 +62,7 @@ class BHash
47
62
  end
48
63
 
49
64
  def print()
50
- return @hash.to_s
65
+ puts @hash.to_s
51
66
  end
52
67
 
53
68
  def present?(h)
@@ -96,4 +111,3 @@ class BHash
96
111
  end
97
112
  end
98
113
 
99
-
data/lib/bhash/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Bhash
2
- VERSION = "1.1.1"
2
+ VERSION = "1.1.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bhash
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tejas Chendekar
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-04-06 00:00:00.000000000 Z
11
+ date: 2021-04-07 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Creates Bidirectional hash with key-to-key pair.
14
14
  email: