Class: Datory::Attributes::Serialization::ServiceFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/datory/attributes/serialization/service_factory.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(model_class, collection_of_attributes) ⇒ ServiceFactory

Returns a new instance of ServiceFactory.



11
12
13
14
# File 'lib/datory/attributes/serialization/service_factory.rb', line 11

def initialize(model_class, collection_of_attributes)
  @model_class = model_class
  @collection_of_attributes = collection_of_attributes
end

Class Method Details

.createObject



7
8
9
# File 'lib/datory/attributes/serialization/service_factory.rb', line 7

def self.create(...)
  new(...).create
end

Instance Method Details

#createObject



16
17
18
19
20
21
22
# File 'lib/datory/attributes/serialization/service_factory.rb', line 16

def create
  return if @model_class.const_defined?(ServiceBuilder::SERVICE_CLASS_NAME)

  class_sample = create_service_class

  @model_class.const_set(ServiceBuilder::SERVICE_CLASS_NAME, class_sample)
end

#create_service_classObject



24
25
26
27
28
29
30
31
32
# File 'lib/datory/attributes/serialization/service_factory.rb', line 24

def create_service_class
  collection_of_attributes = @collection_of_attributes

  Class.new(Datory::Service::Builder) do
    collection_of_attributes.each do |attribute|
      prepare_serialization_data_for(attribute)
    end
  end
end