lib/micro/struct/factory.rb in u-struct-0.11.0 vs lib/micro/struct/factory.rb in u-struct-0.12.0
- old
+ new
@@ -4,16 +4,20 @@
class Factory
require_relative 'factory/members'
require_relative 'factory/create_struct'
def initialize(features)
- @features = Features.require(features)
+ @features = Features.config(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
+
+ def instance(**members, &block)
+ new(*members.keys, &block).new(**members)
end
end
private_constant :Factory
end