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: key_edit_base.rb
    path of file: ./repos/chef/knife/lib/chef/knife
    
    the code of the file until where you have to start completion: #
# Author:: Tyler Cloke (<tyler@c
    
      def self.included(includer)
        includer.class_eval do
          option :public_key,
            short: "-p FILENAME",
            long: "--public-key FILENAME",
            description: "Replace the public_key field from a file on disk. If not passed, the public_key field will not change."

          option :create_key,
            short: "-c",
            long: "--create-key",
            description: "Replace the public_key field with a key generated by the server. The private key will be returned."

          option :file,
            short: "-f FILE",
            long: "--file FILE",
            description: "Write the private key to a file, if you requested the server to create one via --create-key."

          option :key_name,
            short: "-k NAME",
            long: "--key-name NAME",
            description: "The new name for your key. Pass if you wish to update the name field of your key."

          option :expiration_date,
            short: "-e DATE",
            long: "--expiration-date DATE",
            description: "Updates the expiration_date field of your key if passed. Pass in ISO 8601 formatted string: YYYY-MM-DDTHH:MM:SSZ e.g. 2013-12-24T21:00:00Z or infinity. UTC timezone assumed."
        end
      end