Class SuperStruct
In: lib/whois/record/super_struct.rb
Parent: Struct

SuperStruct is an enhanced version of the Ruby Standard library {Struct}.

Compared with the original version, it provides the following additional features:

  • ability to initialize an instance from Hash
  • ability to pass a block on creation

Methods

new  

Public Class methods

Overwrites the standard {Struct} initializer to add the ability to create an instance from a {Hash} of parameters.

@overload initialize({ Symbol => Object })

  Initializes the object with a key/value hash.
  @param [{ Symbol => Object }] values
  @return [SuperStruct]

@overload initialize([ value1, value1, … ])

  Initializes the object with given values.
  @param [Array] values
  @return [SuperStruct]

@overload initialize(value1, value1, …)

  Initializes the object with given values.
  @return [SuperStruct]

@yield self

@example

  attributes = { :foo => 1, :bar => "baz" }
  Struct.new(attributes)
  # => #<Struct foo=1, bar="baz">

[Validate]