Method: CTypes::Enum#initialize
- Defined in:
- lib/ctypes/enum.rb
#initialize(type = Helpers.uint32, values = nil, permissive: false, &block) ⇒ Enum
Returns a new instance of Enum.
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/ctypes/enum.rb', line 64 def initialize(type = Helpers.uint32, values = nil, permissive: false, &block) builder = if block Builder.new(&block) else if values.nil? values = type type = Helpers.uint32 end Builder.new { |b| b << values } end @dry_type = Dry::Types["symbol"] .default(builder.default) .enum(builder.map) @type = type @size = @type.size @dry_type = @dry_type.lax if permissive end |