module BenchmarkDriver

def new(*args, defaults: {}, &block)

Parameters:
  • defaults (Hash{ Symbol => Object }) --
  • args (Array) --
def new(*args, defaults: {}, &block)
  # Polyfill `keyword_init: true`
  if ::Struct::SUPPORT_KEYWORD_P
    klass = ::Struct.new(*args, keyword_init: true, &block)
  else
    klass = keyword_init_struct(*args, &block)
  end
  # Default value config
  configure_defaults(klass, defaults)
  # Force deeply freezing members
  force_deep_freeze(klass)
  klass
end