Top Level Namespace

Defined Under Namespace

Modules: TStruct

Instance Method Summary collapse

Instance Method Details

#TStruct(sig) ⇒ Object



3
4
5
6
7
8
9
10
11
12
# File 'lib/tstruct.rb', line 3

def TStruct(sig)
  Module.new {
    sig.each { |name, type|
      define_method(:"#{name}=") { |value|
        raise TypeError unless type === value
        method(:"#{name}=").super_method.call value
      }
    }
  }
end