module Protobuf::ActiveRecord::AttributeMethods::ClassMethods

Public Instance Methods

alias_field(field_alias, attribute) click to toggle source
# File lib/protobuf/active_record/attribute_methods.rb, line 9
def alias_field(field_alias, attribute)
  alias_attribute field_alias, attribute

  attribute_from_proto attribute, fetch_attribute_alias_from_proto(attribute, field_alias)
  field_from_record field_alias, fetch_field_alias_from_record(attribute, field_alias)
end
fetch_attribute_alias_from_proto(attribute, field_alias) click to toggle source
# File lib/protobuf/active_record/attribute_methods.rb, line 16
def fetch_attribute_alias_from_proto(attribute, field_alias)
  lambda do |proto|
    value = proto.__send__(:"#{field_alias}!")
    value ||= proto.__send__(:"#{attribute}!") if proto.respond_to?(attribute)

    self._protobuf_convert_fields_to_attributes(attribute, value)
  end
end
fetch_field_alias_from_record(attribute, _field_aliasd) click to toggle source
# File lib/protobuf/active_record/attribute_methods.rb, line 25
def fetch_field_alias_from_record(attribute, _field_aliasd)
  lambda do |record|
    value = record.__send__(field_alias)

    self._protobuf_convert_attributes_to_fields(attribute, value)
  end
end