obfuscate 0.1.0 → 0.1.1

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: 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