Sha256: af55ac60bc73bb622252cc8343ef8d1770cbd548e7cd6cb437f16a1d023e761c
Contents?: true
Size: 547 Bytes
Versions: 15
Compression:
Stored size: 547 Bytes
Contents
# frozen_string_literal: true require 'immutable_struct_ex/version' require 'immutable_struct_ex/comparable' require 'immutable_struct_ex/immutable' # Defines the methods used to create/manage the ImmutableStructEx struct. module ImmutableStructEx class << self def new(**hash, &block) Struct.new(*hash.keys, keyword_init: true, &block).tap do |struct| return struct.new(**hash).tap do |struct_object| struct_object.extend Comparable struct_object.extend Immutable end end end end end
Version data entries
15 entries across 15 versions & 1 rubygems