Module: FunWith::Patterns::GetAndSetAPI

Included in:
GetAndSet
Defined in:
lib/fun_with/patterns/get_and_set_api.rb

Instance Method Summary collapse

Instance Method Details

#activate(*classes_to_activate) ⇒ Object

Can pass in an array listing the classes to activate, or just pass in arguments



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/fun_with/patterns/get_and_set_api.rb', line 5

def activate( *classes_to_activate )
  if classes_to_activate.length == 1 && classes_to_activate.first.is_a?(Array)
    classes_to_activate = classes_to_activate.first
  elsif classes_to_activate.length == 0
    classes_to_activate = [Class, Module]   # no arguments given
  end
          
  for klass in classes_to_activate
    if klass == Class || klass == Module
      klass.send( :include, GetAndSet )    # Because individual classes or modules are objects of class Class/Module
    end
    
    klass.send( :extend, GetAndSet )
  end
end