Class: JSONAPI::Serializable::ResourceBuilder
- Inherits:
-
Object
- Object
- JSONAPI::Serializable::ResourceBuilder
- Defined in:
- lib/jsonapi/serializable/resource_builder.rb
Constant Summary collapse
- DEFAULT_RESOURCE_INFERER =
lambda do |object_klass_name| names = object_klass_name.split('::'.freeze) klass_name = names.pop namespace = names.join('::'.freeze) klass_name = [namespace, "Serializable#{klass_name}"] .reject(&:nil?) .reject(&:empty?) .join('::'.freeze) Object.const_get(klass_name) end
Instance Attribute Summary collapse
-
#resource ⇒ Object
readonly
Returns the value of attribute resource.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(object, expose, klass) ⇒ ResourceBuilder
constructor
A new instance of ResourceBuilder.
Constructor Details
#initialize(object, expose, klass) ⇒ ResourceBuilder
Returns a new instance of ResourceBuilder.
30 31 32 33 34 35 36 |
# File 'lib/jsonapi/serializable/resource_builder.rb', line 30 def initialize(object, expose, klass) @object = object @expose = expose || {} @klass = klass @resource = serializable_class.new(serializable_params) freeze end |
Instance Attribute Details
#resource ⇒ Object (readonly)
Returns the value of attribute resource.
28 29 30 |
# File 'lib/jsonapi/serializable/resource_builder.rb', line 28 def resource @resource end |
Class Method Details
.build(objects, expose, klass) ⇒ Object
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/jsonapi/serializable/resource_builder.rb', line 17 def self.build(objects, expose, klass) return objects if objects.nil? || Array(objects).first.respond_to?(:as_jsonapi) if objects.respond_to?(:each) objects.map { |obj| new(obj, expose, klass).resource } else new(objects, expose, klass).resource end end |