Sha256: 60306d583fc4b72f55c4f28c00d8c9c285a4ce6787fda4ebd6524ee94197e67c

Contents?: true

Size: 603 Bytes

Versions: 1

Compression:

Stored size: 603 Bytes

Contents

# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: MPL-2.0

module Vault
  module Rails
    module JSONSerializer
      DECODE_OPTIONS = {
        max_nested:       false,
        create_additions: false,
      }.freeze

      def self.encode(raw)
        _init!

        JSON.fast_generate(raw)
      end

      def self.decode(raw)
        _init!

        return nil if raw == nil || raw == ""

        JSON.parse(raw, DECODE_OPTIONS)
      end

      protected

      def self._init!
        return if defined?(@_init)
        require "json"
        @_init = true
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vault-rails-0.9.0 lib/vault/rails/json_serializer.rb