Sha256: 928991cc12b27f8a7bf7055a5b2a745df93fcd40322550af790de31445829830
Contents?: true
Size: 691 Bytes
Versions: 17
Compression:
Stored size: 691 Bytes
Contents
require 'protobuf/field/varint_field' module Protobuf module Field class BoolField < VarintField def self.default false end def acceptable?(val) raise TypeError unless [true, false].include?(val) true end def decode(value) value == 1 end def define_getter super field = self @message_class.class_eval do define_method("#{field.getter_method_name}?") do field.warn_if_deprecated @values.fetch(field.name, field.default_value) end end end def encode(value) [value ? 1 : 0].pack('C') end end end end
Version data entries
17 entries across 17 versions & 1 rubygems