Sha256: 6f9ff99403c3baeb6d3b40b56982aefa32eba33f179570fa93b7d5648c14e9a2

Contents?: true

Size: 885 Bytes

Versions: 55

Compression:

Stored size: 885 Bytes

Contents

require 'fernet'

module Vault::Tools
  module TextEnc
    FERNET_ENCODE = lambda { |string|
      secret = ENV['FERNET_SECRET']
      Fernet.generate(secret, string)
    }

    FERNET_DECODE = lambda { |token|
      secret = ENV['FERNET_SECRET']
      verifier = Fernet.verifier(secret, token)
      verifier.message
    }

    DEFLATE = lambda { |string|
      z = Zlib::Deflate.new
      dst = z.deflate(string, Zlib::FINISH)
      z.close
      dst
    }

    INFLATE = lambda { |string|
      z = Zlib::Inflate.new
      dst = z.inflate(string)
      z.close
      dst
    }

    class Write < Vault::Pipeline
      use DEFLATE
      use FERNET_ENCODE
    end

    class Read < Vault::Pipeline
      use FERNET_DECODE
      use INFLATE
    end

    def self.write(string)
      Write.process(string)
    end

    def self.read(string)
      Read.process(string)
    end
  end
end

Version data entries

55 entries across 55 versions & 1 rubygems

Version Path
vault-tools-2.1.1 lib/vault-tools/text_processor.rb
vault-tools-2.1.0 lib/vault-tools/text_processor.rb
vault-tools-2.0.2 lib/vault-tools/text_processor.rb
vault-tools-2.0.1 lib/vault-tools/text_processor.rb
vault-tools-2.0.0 lib/vault-tools/text_processor.rb
vault-tools-1.0.1 lib/vault-tools/text_processor.rb
vault-tools-1.0.0 lib/vault-tools/text_processor.rb
vault-tools-0.7.1 lib/vault-tools/text_processor.rb
vault-tools-0.7.0 lib/vault-tools/text_processor.rb
vault-tools-0.6.5 lib/vault-tools/text_processor.rb
vault-tools-0.6.4 lib/vault-tools/text_processor.rb
vault-tools-0.6.3 lib/vault-tools/text_processor.rb
vault-tools-0.6.2 lib/vault-tools/text_processor.rb
vault-tools-0.6.1 lib/vault-tools/text_processor.rb
vault-tools-0.6.0 lib/vault-tools/text_processor.rb
vault-tools-0.5.22 lib/vault-tools/text_processor.rb
vault-tools-0.5.21 lib/vault-tools/text_processor.rb
vault-tools-0.5.19 lib/vault-tools/text_processor.rb
vault-tools-0.5.18 lib/vault-tools/text_processor.rb
vault-tools-0.5.17 lib/vault-tools/text_processor.rb