Module: MotionBlender::FlagAttribute::ClassMethods

Defined in:
lib/motion_blender/flag_attribute.rb

Instance Method Summary collapse

Instance Method Details

#flag_attribute(*args) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/motion_blender/flag_attribute.rb', line 6

def flag_attribute *args
  args.each do |attr|
    define_method "#{attr}?" do
      !!instance_variable_get("@#{attr}")
    end

    define_method "#{attr}!" do
      instance_variable_set "@#{attr}", true
    end

    define_method "reset_#{attr}!" do
      instance_variable_set "@#{attr}", false
    end
  end
end