Sha256: b412b81acf306d609784481bfa32751631553a61457580bc4bd6caf82a523075

Contents?: true

Size: 484 Bytes

Versions: 1

Compression:

Stored size: 484 Bytes

Contents

# frozen_string_literal: true

module Micro::Struct
  class Factory
    require_relative 'factory/members'
    require_relative 'factory/create_struct'

    def initialize(features)
      @features = Features.require(features)
    end

    def new(*required_members, required: nil, optional: nil, &struct_block)
      members = Members.new(required_members, required, optional)

      CreateStruct.with(members, struct_block, @features)
    end
  end

  private_constant :Factory
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
u-struct-0.11.0 lib/micro/struct/factory.rb