Class: MastercardCoreSdk::Converters::SDKConverterFactory
- Inherits:
-
Object
- Object
- MastercardCoreSdk::Converters::SDKConverterFactory
- Extended by:
- Exceptions
- Defined in:
- lib/mastercard_core_sdk/converters/sdk_converter_factory.rb
Overview
Decides converter as per content-type of request/response.
Constant Summary collapse
- @@logger =
Logging.logger[self]
- @@content_handlers =
{}
Class Method Summary collapse
-
.get_converter(mime) ⇒ Hash
Get converter as per mime-type.
-
.get_mime_sub_type(mime) ⇒ String
Return sub-type for the mime.
-
.json_mime?(mime) ⇒ Boolean
Check if the given MIME is a JSON mime.
-
.set_converter(content_type, converter) ⇒ Object
Set the converter as per content-type.
-
.urlencoded_mime?(mime) ⇒ Boolean
Check if the given MIME is a WWW-FORM-URLENCODED mime.
-
.xml_mime?(mime) ⇒ Boolean
Check if the given MIME is a XML mime.
Class Method Details
.get_converter(mime) ⇒ Hash
Get converter as per mime-type.
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/mastercard_core_sdk/converters/sdk_converter_factory.rb', line 18 def get_converter(mime) converter = nil content_type = get_mime_sub_type(mime) if content_type return @@content_handlers[content_type] if @@content_handlers.key?(content_type) if content_type.include?(CONTENT_TYPE_XML) converter = XmlConverter.new elsif content_type.include?(CONTENT_TYPE_JSON) converter = JsonConverter.new elsif content_type.include?(CONTENT_TYPE_URL_ENCODED) converter = EncodedURLConverter.new else @@logger.debug "#{ERR_MSG_CONTENT_TYPE} #{content_type}" raise SDKConversionError.new(:error_message => "#{ERR_MSG_CONTENT_TYPE} #{content_type}", :source => self.class) end set_converter(content_type, converter) return converter end end |
.get_mime_sub_type(mime) ⇒ String
Return sub-type for the mime.
52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/mastercard_core_sdk/converters/sdk_converter_factory.rb', line 52 def get_mime_sub_type(mime) mime_sub_type = "" if json_mime?(mime) mime_sub_type = CONTENT_TYPE_JSON elsif xml_mime?(mime) mime_sub_type = CONTENT_TYPE_XML elsif urlencoded_mime?(mime) mime_sub_type = CONTENT_TYPE_URL_ENCODED else @@logger.debug "#{ERR_MSG_CONTENT_TYPE} #{mime}" raise SDKConversionError.new(:error_message => "#{ERR_MSG_CONTENT_TYPE} #{mime}", :source => self.class) end return mime_sub_type end |
.json_mime?(mime) ⇒ Boolean
Check if the given MIME is a JSON mime.
70 71 72 |
# File 'lib/mastercard_core_sdk/converters/sdk_converter_factory.rb', line 70 def json_mime?(mime) !!(mime =~ /(json|javascript)/i) end |
.set_converter(content_type, converter) ⇒ Object
Set the converter as per content-type.
41 42 43 44 45 46 47 |
# File 'lib/mastercard_core_sdk/converters/sdk_converter_factory.rb', line 41 def set_converter(content_type, converter) if @@content_handlers.key?(content_type) @@content_handlers[content_type] = converter else @@content_handlers.merge!({content_type => converter}) end end |
.urlencoded_mime?(mime) ⇒ Boolean
Check if the given MIME is a WWW-FORM-URLENCODED mime.
84 85 86 |
# File 'lib/mastercard_core_sdk/converters/sdk_converter_factory.rb', line 84 def urlencoded_mime?(mime) !!(mime =~ /www-form-urlencoded/i) end |
.xml_mime?(mime) ⇒ Boolean
Check if the given MIME is a XML mime.
77 78 79 |
# File 'lib/mastercard_core_sdk/converters/sdk_converter_factory.rb', line 77 def xml_mime?(mime) !!(mime =~ /xml/i) end |