grizzly_ber 0.0.1 → 0.0.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 (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/grizzly_ber.rb +18 -0
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8b5a5500e1f13519b98923a3e30df1aa81775cbb
4
- data.tar.gz: 8e5d9166d49e72973a2d0f5d6108dc811b2aff42
3
+ metadata.gz: b796ad9d2b49d6498abc07485fbb2f66246e1e27
4
+ data.tar.gz: 59fcdec2acadfef81f5d4b84985c111837cd8fd0
5
5
  SHA512:
6
- metadata.gz: bf4c45592fb3422f89d4546011b0c19612c2974431d43b301418be12e183c535f643c15faf08585e66dd0d601a8ef8b06e6eb86bd087272024727a037a89a021
7
- data.tar.gz: 9d6d975a12bf2e322a2761d1049ee01b5d426436ad7ee0f3f93e063222aa4ac49df38ecaa0f697a99de24b79a5406483a9b73501eef74fb74abd947ebe46f865
6
+ metadata.gz: 48ba2625b1a4c22763cc587736d59fdcf29c7f2df11bd9dc19a9cea775dd356070db281d83fcaa4b44897c3941b708b7ab13821716e2320635b610f2424d19a7
7
+ data.tar.gz: e39c7018a8b57fc5d1405d4d1cebb4fe3b4508b9b3b0c684046096b5367fb9065f49f6e2f67950ba4307b6bbe2a8ea6cf3ec5096e999227242c4daf8aa526800
data/lib/grizzly_ber.rb CHANGED
@@ -35,6 +35,14 @@ class GrizzlyBer
35
35
  decode_byte_array(binary_string.unpack("C*"))
36
36
  end
37
37
 
38
+ def self.decode_all_hex(hex_string)
39
+ decode_all_binary([hex_string].pack("H*"))
40
+ end
41
+
42
+ def self.decode_all_binary(binary_string)
43
+ decode_all_byte_array(binary_string.unpack("C*"))
44
+ end
45
+
38
46
  def encode_hex
39
47
  encoded = ""
40
48
  encoded << @tag.to_s(16).upcase
@@ -47,6 +55,10 @@ class GrizzlyBer
47
55
  encoded << encode_only_values
48
56
  end
49
57
 
58
+ def encode_binary
59
+ [encode_hex].pack("H*")
60
+ end
61
+
50
62
  def encode_only_values
51
63
  if @value.is_a? String
52
64
  @value.upcase
@@ -126,5 +138,11 @@ class GrizzlyBer
126
138
  @value = byte_array.shift(@length).pack("C*").unpack("H*").first.upcase
127
139
  end
128
140
  end
141
+
142
+ def self.decode_all_byte_array(byte_array)
143
+ tlv_array = []
144
+ tlv_array << GrizzlyBer.new.instance_eval { decode_byte_array(byte_array) } while byte_array.size > 0
145
+ tlv_array
146
+ end
129
147
  end
130
148
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grizzly_ber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Balsdon
@@ -27,12 +27,12 @@ require_paths:
27
27
  - lib
28
28
  required_ruby_version: !ruby/object:Gem::Requirement
29
29
  requirements:
30
- - - '>='
30
+ - - ">="
31
31
  - !ruby/object:Gem::Version
32
32
  version: '0'
33
33
  required_rubygems_version: !ruby/object:Gem::Requirement
34
34
  requirements:
35
- - - '>='
35
+ - - ">="
36
36
  - !ruby/object:Gem::Version
37
37
  version: '0'
38
38
  requirements: []