Module: Petail

Defined in:
lib/petail.rb,
lib/petail/payload.rb,
lib/petail/xml/serializer.rb,
lib/petail/xml/deserializer.rb

Overview

Main namespace.

Defined Under Namespace

Modules: XML Classes: Payload

Constant Summary collapse

MEDIA_TYPE_JSON =
"application/problem+json"
MEDIA_TYPE_XML =
"application/problem+xml"
TYPES =
%i[json xml].freeze
PRIMARY_KEYS =
%i[type title status detail instance].freeze

Class Method Summary collapse

Class Method Details

.[]Object



13
# File 'lib/petail.rb', line 13

def self.[](**) = Payload.for(**)

.from_jsonObject



17
# File 'lib/petail.rb', line 17

def self.from_json(...) = Payload.from_json(...)

.from_xmlObject



19
# File 'lib/petail.rb', line 19

def self.from_xml(...) = Payload.from_xml(...)

.media_type_for(key, types: TYPES) ⇒ Object



21
22
23
# File 'lib/petail.rb', line 21

def self.media_type_for key, types: TYPES
  types.include?(key) ? const_get("MEDIA_TYPE_#{key.upcase}") : ""
end

.newObject



15
# File 'lib/petail.rb', line 15

def self.new(**) = Payload.for(**)