You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: active_record_attribute.rb
    path of file: ./repos/sorbet-rails/lib/sorbet-rails/model_plugins
    
    the code of the file until where you have to start completion: # typed: strict
require ('sorbet-rails/model_p
    
  def value_type_for_attr_writer(column_type)
    # it's safe - and convenient - to assign any "time like" object to a time zone
    # aware attribute because Rails will cast it to a `ActiveSupport::TimeWithZone`
    # (so rereading the attribute will always return the `TimeWithZone` type)
    assignable_time_supertypes = [Date, Time, ActiveSupport::TimeWithZone].map(&:to_s)

    type = column_type.base_type
    if type.is_a?(Class)
      if type == ActiveSupport::TimeWithZone
        type = "T.any(#{assignable_time_supertypes.join(', ')})"
      elsif type < Numeric || type == ActiveSupport::Duration
        type = "T.any(Numeric, ActiveSupport::Duration)"
      elsif type == String
        type = "T.any(String, Symbol)"
      end