def copy_options(options)
      copy_options = { can_copy: false, ancestor_exist: false, locked: false }

      destination = copy_destination options
      to_path = join_paths @root_dir, destination
      to_path_exists = File.exist? to_path

      copy_options[:ancestor_exist] = File.exist? parent_path destination
      copy_options[:locked] = can_copy_locked_option to_path, to_path_exists
      copy_options = can_copy_option copy_options, options, to_path_exists
      copy_options
    end
def copy_options(options)
      copy_options = { can_copy: false, ancestor_exist: false, locked: false }

      destination = copy_destination options
      to_path = join_paths @root_dir, destination
      to_path_exists = File.exist? to_path

      copy_options[:ancestor_exist] = File.exist? parent_path destination
      copy_options[:locked] = can_copy_locked_option to_path, to_path_exists
      copy_options = can_copy_option copy_options, options, to_path_exists
      copy_options
    end
Responsible for returning a hash with keys indicating if the resource
 can be copied, if an ancestor exists, or if the copy destinatin is
 locked.

 Return hash should contain `can_copy`, `ancestor_exist`, and `locked`
 keys with boolean values.

 Used in COPY and MOVE (which inherits from COPY) requests.