Class: Datory::Attributes::Deserialization::ServiceBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/datory/attributes/deserialization/service_builder.rb

Constant Summary collapse

SERVICE_CLASS_NAME =
"DBuilder"

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(context, incoming_attributes, collection_of_attributes) ⇒ ServiceBuilder

Returns a new instance of ServiceBuilder.



13
14
15
16
17
# File 'lib/datory/attributes/deserialization/service_builder.rb', line 13

def initialize(context, incoming_attributes, collection_of_attributes)
  @context = context
  @incoming_attributes = incoming_attributes
  @collection_of_attributes = collection_of_attributes
end

Class Method Details

.build!Object



9
10
11
# File 'lib/datory/attributes/deserialization/service_builder.rb', line 9

def self.build!(...)
  new(...).build!
end

Instance Method Details

#build!Object



19
20
21
22
23
24
25
# File 'lib/datory/attributes/deserialization/service_builder.rb', line 19

def build!
  ServiceFactory.create(@context.class, @collection_of_attributes)

  result = builder_class.call!(**@incoming_attributes)

  @context.class.serialization.new(**result.to_h)
end