Module: Rails::On::Sorbet::ActiveRecordSerializer

Included in:
ActiveRecord::Base
Defined in:
lib/rails/on/sorbet/active_record_serializer.rb

Overview

@requires_ancestor: singleton(ActiveRecord::Base)

Defined Under Namespace

Classes: Definition

Instance Method Summary collapse

Instance Method Details

#_sorbet_serializer_definitionsObject

: -> Hash[Symbol, Definition]



63
64
65
# File 'lib/rails/on/sorbet/active_record_serializer.rb', line 63

def _sorbet_serializer_definitions
  @_sorbet_serializer_definitions ||= {}
end

#serialize(attr_name, coder: nil, type: Object, yaml: {}, return_type: nil, setter_type: nil, doc: nil, **kwargs, &block) ⇒ Object

: ( | Symbol, | ?coder: untyped, | ?type: untyped, | ?yaml: Hash[Symbol, untyped], | ?return_type: untyped, | ?setter_type: untyped, | ?doc: String?, | **untyped | ) ?{ -> void } -> void



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/rails/on/sorbet/active_record_serializer.rb', line 40

def serialize(
  attr_name,
  coder: nil,
  type: Object,
  yaml: {},
  return_type: nil,
  setter_type: nil,
  doc: nil,
  **kwargs,
  &block
)
  super(attr_name, coder: coder, type: type, yaml: yaml, **kwargs, &block)

  _sorbet_serializer_definitions[attr_name] = Definition.new(
    name:        attr_name,
    coder:       coder,
    return_type: return_type,
    setter_type: setter_type,
    doc:         doc,
  )
end