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: column.rb
    path of file: ./repos/ekylibre/lib/abaci
    
    the code of the file until where you have to start completion: module Abaci
  class Column
    attr_reader :name, :type, :references

    def initialize(name)
      components = name.to_s.strip.split(/\s+/)
      @name = components.shift
    
    
    def cast(value)
      return nil if value.blank?

      if @type == :decimal
        value.to_d
      elsif @type == :integer
        value.to_i
      elsif @type == :boolean
        %w[true yes ok t 1].include?(value.downcase)
      elsif @type == :list
        value.split(/[[:space:]]*\,[[:space:]]*/)
      else
        value
      end