obfuscate 0.1.0 → 0.1.1

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: 77a0600dfa12c2c40e4d07288f340ae357b3e1468b8631e50317b4ad19890afd
4
- data.tar.gz: 7527e96f6844dc73a34812125f4f2d458e4300b07af84139cd0d9ca6f3ba2049
3
+ metadata.gz: ebb1fc277b8023705fe8996c358335d0c48b7e3f3735e6c35898814e4fd12c7b
4
+ data.tar.gz: e278091683eab149d241fe75fe61f7df5f3b296920d73f7c02962e112a9ba908
5
5
  SHA512:
6
- metadata.gz: 69f7bd7e8f56082ab1d47f199c5232beba2bedfe5b85bfbe5d9180b825400c32c1a4159572b3ada8644563e3b67950f58756b71d6e01df74104fc24137edebb7
7
- data.tar.gz: f96da0558513e01cc0e051da58f394324eb89cd207dd8c41d1b830d3b443a780b37a1d43a96c750a01ee0b67548eb79a4c426ee47a213e7d4a2125c953cc63b0
6
+ metadata.gz: 969ff36fb5ab28bf7c25dcc4d6cd600731f3791cc57f00f85afd4a7ef35c0abacc75f62bd807b75261a28df1369dcf19d61026773bf8058b796318d075e12dcc
7
+ data.tar.gz: 6dbe25dc7c059a2a9ed024427a69c797059724fddf5966b0abb3f0300cb2d36f1fb0e47ab2372af7f7efff3750761ab64b553eea2f7cae6575c9a2345aa40007
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- obfuscate (0.1.0)
4
+ obfuscate (0.1.1)
5
5
  otherinbox-crypt19 (~> 1.2.1)
6
6
 
7
7
  GEM
@@ -18,6 +18,9 @@ require 'crypt/blowfish'
18
18
  require 'base64'
19
19
 
20
20
  class Obfuscate::Crypt
21
+ Base64Error = Class.new(StandardError)
22
+ UnsupportedModeError = Class.new(StandardError)
23
+
21
24
  attr_reader :config
22
25
  attr_reader :exec_config
23
26
 
@@ -58,23 +61,32 @@ class Obfuscate::Crypt
58
61
  #
59
62
  # @param [Symbol] override_mode to explicit set clarify mode to :string or :block
60
63
  # @return [String]
61
- def clarify( text, override_mode = nil )
64
+ def clarify(text, override_mode = nil)
62
65
 
63
- @exec_config = @config.apply( :mode => (override_mode || @config.mode) )
66
+ @exec_config = @config.apply(:mode => (override_mode || @config.mode))
64
67
  obfuscated = text.to_s
65
68
 
66
-
67
69
  if @exec_config.encode
68
70
  obfuscated << "=" if @exec_config.remove_trailing_equal?
69
- obfuscated = Base64.urlsafe_decode64( obfuscated )
71
+ obfuscated = Base64.urlsafe_decode64(obfuscated)
70
72
  end
71
73
 
72
- if @exec_config.mode == :string
73
- @crypt.decrypt_string( obfuscated )
74
- elsif @exec_config.mode == :block
75
- @crypt.decrypt_block( obfuscated ).strip
76
- else
77
- raise "Unsupport Mode"
74
+ begin
75
+ if @exec_config.mode == :string
76
+ @crypt.decrypt_string(obfuscated)
77
+ elsif @exec_config.mode == :block
78
+ @crypt.decrypt_block(obfuscated).strip
79
+ else
80
+ raise UnsupportedModeError.new("Unknown mode: #{@exec_config.mode}")
81
+ end
82
+ rescue ArgumentError => ex
83
+ raise Base64Error.new("Cannot decode #{text}") if ex.message == 'invalid base64'
84
+
85
+ raise ex
86
+ rescue => ex
87
+ raise Base64Error.new("Cannot decode #{text}") if ex.message == "undefined method `%'"
88
+
89
+ raise ex
78
90
  end
79
91
  end
80
92
  end
@@ -14,5 +14,5 @@
14
14
  # the License.
15
15
 
16
16
  module Obfuscate
17
- VERSION = "0.1.0"
17
+ VERSION = "0.1.1"
18
18
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: obfuscate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Guymon