Class: TypedSet

Inherits:
Set
  • Object
show all
Defined in:
lib/typedset.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(klass, *args) ⇒ TypedSet

Returns a new instance of TypedSet.

Raises:

  • (ArgumentError)


6
7
8
9
10
# File 'lib/typedset.rb', line 6

def initialize (klass, *args)
  raise ArgumentError, "require a class object" unless klass.class == Class
  @set_class = klass
  super args
end

Instance Attribute Details

#set_classObject (readonly)

Returns the value of attribute set_class.



4
5
6
# File 'lib/typedset.rb', line 4

def set_class
  @set_class
end

Instance Method Details

#add(o) ⇒ Object Also known as: <<



12
13
14
15
16
17
18
# File 'lib/typedset.rb', line 12

def add o
  unless o.class == @set_class
    raise ArgumentError, "members must be of class #{ @set_class }"
  end

  super o
end