module T::Props::WeakConstructor
def initialize(hash={})
def initialize(hash={}) decorator = self.class.decorator hash_keys_matching_props = decorator.construct_props_with_defaults(self, hash) + decorator.construct_props_without_defaults(self, hash) if hash_keys_matching_props < hash.size raise ArgumentError.new("#{self.class}: Unrecognized properties: #{(hash.keys - decorator.props.keys).join(', ')}") end end