Class: ApiSerializer::VariantBuilder
- Inherits:
-
Object
- Object
- ApiSerializer::VariantBuilder
- Defined in:
- lib/api_serializer/variant_builder.rb
Instance Method Summary collapse
- #build ⇒ Object
-
#initialize(name:, schema:, type: :serializer, abstract: false, parent: nil, mixins: []) ⇒ VariantBuilder
constructor
A new instance of VariantBuilder.
Constructor Details
#initialize(name:, schema:, type: :serializer, abstract: false, parent: nil, mixins: []) ⇒ VariantBuilder
Returns a new instance of VariantBuilder.
3 4 5 6 7 8 9 10 |
# File 'lib/api_serializer/variant_builder.rb', line 3 def initialize(name:, schema:, type: :serializer, abstract: false, parent: nil, mixins: []) @type = type @abstract = abstract @schema = schema @parent = parent @variant_name = name @mixins = mixins end |
Instance Method Details
#build ⇒ Object
12 13 14 15 16 17 18 19 20 |
# File 'lib/api_serializer/variant_builder.rb', line 12 def build(&) create_serialization_variant define_variant_name_method schema_description_and_name define_composed_with apply_mixins setup_attributes(&) determine_class_of_variant.new(name: @variant_name, serialization: @serialization_variant, inherits: @parent) end |