Sha256: 1aaa29e41a9620a4aa1a12b5a1bb7184b61c4fb7cda779db1a39c31bfad784e9

Contents?: true

Size: 510 Bytes

Versions: 6

Compression:

Stored size: 510 Bytes

Contents

# frozen_string_literal: true
require "json"
require "http/mime_type/adapter"

module HTTP
  module MimeType
    # JSON encode/decode MIME type adapter
    class JSON < Adapter
      # Encodes object to JSON
      def encode(obj)
        return obj.to_json if obj.respond_to?(:to_json)
        ::JSON.dump obj
      end

      # Decodes JSON
      def decode(str)
        ::JSON.load str
      end
    end

    register_adapter "application/json", JSON
    register_alias   "application/json", :json
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
http-2.2.2 lib/http/mime_type/json.rb
http-2.2.1 lib/http/mime_type/json.rb
http-2.2.0 lib/http/mime_type/json.rb
http-2.1.0 lib/http/mime_type/json.rb
http-2.0.3 lib/http/mime_type/json.rb
http-2.0.2 lib/http/mime_type/json.rb