# File lib/glib-mkenums.rb, line 97 def self.parse(data, g_type_prefix, options={}) options ||= {} enums = [] data.force_encoding("utf-8") if data.respond_to?(:force_encoding) data.scan(/^\s*typedef\s+enum\s* \{?\s*(.*?) \}\s*(\w+);/mx){|constants, name| enum_options = {} force_flags_patterns = [(options[:force_flags] || [])].flatten if force_flags_patterns.any? {|pattern| pattern === name} enum_options[:force_flags] = true end enum = new(name, constants, g_type_prefix, enum_options) enums << enum } enums end