lib/micro/struct/factory.rb in u-struct-0.10.0 vs lib/micro/struct/factory.rb in u-struct-0.11.0
- old
+ new
@@ -1,23 +1,19 @@
# 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
- NormalizeMemberNames = ->(values) do
- NormalizeNames::AsSymbols.(values, context: 'member')
- end
+ def new(*required_members, required: nil, optional: nil, &struct_block)
+ members = Members.new(required_members, required, optional)
- def new(*members, required: nil, optional: nil, &block)
- optional_members = NormalizeMemberNames[optional]
- required_members = NormalizeMemberNames[members] + NormalizeMemberNames[required]
-
- CreateStruct.with(required_members, optional_members, @features, &block)
+ CreateStruct.with(members, struct_block, @features)
end
end
private_constant :Factory
end