Sha256: f6c89c01279ebca869274041e7b5b0a6ef5c6b85369c190e5dca8a872a865261
Contents?: true
Size: 479 Bytes
Versions: 1
Compression:
Stored size: 479 Bytes
Contents
# frozen_string_literal: true require 'immutable_struct_ex/version' # Defines the methods used to create/manage the ImmutableStructEx struct. module ImmutableStructEx class << self def new(**hash, &block) options_struct = Struct.new(*hash.keys, keyword_init: true, &block) options_struct.new(**hash).tap do |struct| [:[], *struct.members].each do |method| struct.instance_eval { undef :"#{method}=" } end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
immutable_struct_ex-0.1.0 | lib/immutable_struct_ex.rb |