module SDL2::EnumUtil

Public Instance Methods

enum_consts(*args) click to toggle source

enum_consts convenient like FFI’s enum but creates the symbols as normal consts which I believe is more natural to ruby

# File lib/sdl2.rb, line 10
def enum_consts *args
 pname = nil
 value = 1

 args.each do |arg|

  if arg.is_a? Symbol
   if pname
    #puts "const_set #{pname} = #{value}"
    const_set(pname, value)
    pname = nil
    value += 1
   end
   pname = arg

  elsif arg.is_a? Integer
   if pname
    value = arg
    #puts "const_set #{pname} = #{value}"
    const_set(pname, value)
    pname = nil
    value += 1
   else
    raise "unexpected integer without preceeding name"
   end
  end

 end # do

 if pname
  #puts "const_set #{pname} = #{value}"
  const_set(pname, value)
 end

end