module MotionBlender::FlagAttribute::ClassMethods

Public Instance Methods

flag_attribute(*args) click to toggle source
# 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