Class: FlexStruct

Inherits:
Object
  • Object
show all
Defined in:
lib/flex_struct.rb,
lib/flex_struct/version.rb

Overview

A drop-in replacement for Struct which adds a more flexible initialize method

Constant Summary collapse

VERSION =
"0.1.0".freeze

Class Method Summary collapse

Class Method Details

.new(*args) ⇒ Object



5
6
7
8
9
10
11
12
13
# File 'lib/flex_struct.rb', line 5

def self.new(*args)
  Struct.new(*args) do
    def initialize(*args, **kwargs)
      super(*args)
      kwargs.each { |key, val| self[key] = val }
      yield self if block_given?
    end
  end
end