Sha256: db1767b0c5ee3b46abe907d82e05c578623758736c2a7fa1398ea168928f4364
Contents?: true
Size: 1.11 KB
Versions: 2
Compression:
Stored size: 1.11 KB
Contents
# typed: strict require('parlour') require('sorbet-rails/model_utils') module SorbetRails::ModelPlugins class Base < ::Parlour::Plugin extend T::Sig extend T::Helpers include SorbetRails::ModelUtils abstract! # convenient rename Parameter = ::Parlour::RbiGenerator::Parameter sig { override.returns(T.class_of(ActiveRecord::Base)) } attr_reader :model_class sig { returns(T::Set[String]) } attr_reader :available_classes sig { params( model_class: T.class_of(ActiveRecord::Base), available_classes: T::Set[String], ). void } def initialize(model_class, available_classes) @model_class = T.let(model_class, T.class_of(ActiveRecord::Base)) @available_classes = T.let(available_classes, T::Set[String]) end sig { params(column_name: String).returns(T.nilable(Class)) } def serialization_coder_for_column(column_name) column_type = @model_class.type_for_attribute(column_name) return unless column_type.is_a?(ActiveRecord::Type::Serialized) column_type.coder.try(:object_class) || Object end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
sorbet-rails-0.7.4 | lib/sorbet-rails/model_plugins/base.rb |
sorbet-rails-0.7.3 | lib/sorbet-rails/model_plugins/base.rb |