zarby 0.1.2 → 0.1.3

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
  SHA256:
3
- metadata.gz: d0b346aa22187565e4dc560f912437f47de21d505809e6260bba82dab13e7ba1
4
- data.tar.gz: 051f4ae725e23e59d8cca88c3cdf6a3d070dd83445d35c3cca2b530129f7c403
3
+ metadata.gz: '094c48a2c426ddb854907fb342840e5360f227b63a272fd8680128573f08e28c'
4
+ data.tar.gz: 3327de7fe14f73baab98e11cf3f7e8c87b2fa6ee2896ce1c877bcdef8ed0a9d9
5
5
  SHA512:
6
- metadata.gz: 874cc0894c30afef80fb52356dec88598b2383633c6a3770a5325e0dd62a37ace0ffcc2a9fa8538580536143360a54a845c375ef523bbe314f22fadb090997d5
7
- data.tar.gz: 94d990a09c685429e812077b53dc66c26b4ae83705ce421251dfb9881070f7ec943d5ec2e87fb36505332ebf6aa7ac6121404231d1c2c9af47c9fe86ee7b1a90
6
+ metadata.gz: 623c758ff2e50d52939b08f58b414c23297503ab596b4afa0b91f2075b123c42d75f61e0a7501d83ee010e4ce29d7b2c070194596b42d1a2262861b76cca1425
7
+ data.tar.gz: 5764f9b41cb8f31fa3cb171e52fd4265c1295ebca59d73c89fbb563524cbbf12962511159dbdbea404feaaa29ed05f6c648fa247105426155acee5a3970e4b54
@@ -15,15 +15,17 @@ module Zarby
15
15
 
16
16
  def utf8
17
17
  output = @input if valid?
18
-
19
18
  COMMON_ENCODINGS.each do |encoding|
20
19
  output ||= convert { @input.encode(encoding) }
21
20
  output ||= convert { @input.force_encoding('UTF-8') } if encoding == 'UTF-8'
21
+ puts output
22
22
  end
23
23
 
24
+ output ||= unpack_pack { @input.unpack("C*").pack("U*") } if output.nil?
25
+
24
26
  # replace any unknown characters with a placeholder: �
25
27
  output ||= convert { @input.encode('UTF-8', invalid: :replace, undef: :replace) }
26
-
28
+ puts output
27
29
  output
28
30
  end
29
31
 
@@ -36,6 +38,13 @@ module Zarby
36
38
  nil
37
39
  end
38
40
 
41
+ def unpack_pack
42
+ string = yield
43
+ string if string.valid_encoding?
44
+ rescue Encoding::UndefinedConversionError, Encoding::InvalidByteSequenceError
45
+ nil
46
+ end
47
+
39
48
  def valid?
40
49
  @input.encoding.name == 'UTF-8' && @input.valid_encoding?
41
50
  end
data/lib/zarby/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Zarby
4
- VERSION = "0.1.2"
4
+ VERSION = "0.1.3"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zarby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - vianney.sonneville
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-10-20 00:00:00.000000000 Z
11
+ date: 2023-10-23 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: