Class: JPie::Deserializer
- Inherits:
-
Object
- Object
- JPie::Deserializer
- Defined in:
- lib/jpie/deserializer.rb
Instance Attribute Summary collapse
-
#options ⇒ Object
readonly
Returns the value of attribute options.
-
#resource_class ⇒ Object
readonly
Returns the value of attribute resource_class.
Instance Method Summary collapse
- #deserialize(json_data, context = {}) ⇒ Object
-
#initialize(resource_class, options = {}) ⇒ Deserializer
constructor
A new instance of Deserializer.
Constructor Details
#initialize(resource_class, options = {}) ⇒ Deserializer
Returns a new instance of Deserializer.
7 8 9 10 |
# File 'lib/jpie/deserializer.rb', line 7 def initialize(resource_class, = {}) @resource_class = resource_class = end |
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
5 6 7 |
# File 'lib/jpie/deserializer.rb', line 5 def end |
#resource_class ⇒ Object (readonly)
Returns the value of attribute resource_class.
5 6 7 |
# File 'lib/jpie/deserializer.rb', line 5 def resource_class @resource_class end |
Instance Method Details
#deserialize(json_data, context = {}) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/jpie/deserializer.rb', line 12 def deserialize(json_data, context = {}) data = json_data.is_a?(String) ? JSON.parse(json_data) : json_data validate_json_api_structure!(data) if data['data'].is_a?(Array) deserialize_collection(data['data'], context) else deserialize_single(data['data'], context) end rescue JSON::ParserError => e raise Errors::BadRequestError.new(detail: "Invalid JSON: #{e.message}") end |