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: library_source_config.rb
    path of file: ./repos/bashly/lib/bashly
    
    the code of the file until where you have to start completion: module Bashly
  class LibrarySourceConfig
    include ValidationHelpers

    attr_reader :path

    def initialize(path)
      @path = path
    end

    def data
      @data ||= YAML.load_file path
    end

    def validated_data
      validate
      data
    end

    def validate
      assert_
    
    def assert_lib(key, value)
      assert_string "#{key}.help", value['help']

      assert_optional_string "#{key}.usage", value['usage']
      assert_optional_string "#{key}.handler", value['handler']
      assert_optional_string "#{key}.post_install_message", value['post_install_message']

      return if value['handler']

      assert_array "#{key}.files", value['files'], of: :filespec
    end