class Protobuf::Field::BaseFieldObjectDefinitions::RequiredStringSetField

Public Class Methods

new(selph) click to toggle source
# File lib/protobuf/field/base_field_object_definitions.rb, line 289
def initialize(selph)
  @selph = selph
  @tag = selph.tag
  @fully_qualified_name = selph.fully_qualified_name
end

Public Instance Methods

call(values, value, _ignore_nil_for_repeated, message_instance) click to toggle source
# File lib/protobuf/field/base_field_object_definitions.rb, line 295
def call(values, value, _ignore_nil_for_repeated, message_instance)
  if value
    message_instance._protobuf_message_unset_required_field_tags.delete(@tag)
    values[@fully_qualified_name] = if value.is_a?(String)
                                      value
                                    else
                                      @selph.coerce!(value)
                                    end
  else
    values.delete(@fully_qualified_name)
    message_instance._protobuf_message_unset_required_field_tags << @tag
  end
end