Sha256: adea784f415cb6675cabb1abf2acc34664bf5d9c79d9e63a5c4809c80d542318

Contents?: true

Size: 572 Bytes

Versions: 5

Compression:

Stored size: 572 Bytes

Contents

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

      def self.encode(raw)
        self._init!

        raw = {} if raw.nil?

        JSON.fast_generate(raw)
      end

      def self.decode(raw)
        self._init!

        return {} if raw.nil? || raw.empty?
        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

5 entries across 5 versions & 1 rubygems

Version Path
vault-rails-0.4.0 lib/vault/rails/serializer.rb
vault-rails-0.3.2 lib/vault/rails/serializer.rb
vault-rails-0.3.1 lib/vault/rails/serializer.rb
vault-rails-0.3.0 lib/vault/rails/serializer.rb
vault-rails-0.2.0 lib/vault/rails/serializer.rb