Os tipos de arquivos que podem ter itens soltos neles possuem chaves no registro para informar ao Windows como executá-los. Se você tiver a extensão do seu script configurada para que Ruby execute o script por padrão, você estará no meio do caminho.
(Aviso obrigatório: este é um hack. Brincar com o seu registro pode realmente estragar o seu computador. Se você se importa com seus dados e não confia em mim (assim como você não deveria), faça um backup antes você continua.)
- Inicie o editor de registro. É chamado de "regedit". (Se você estiver executando o Vista ou o Windows 7, talvez seja necessário clicar com o botão direito do mouse e "executar como administrador".)
- Abra HKEY_CLASSES_ROOT \ batfile \ ShellEx \ DropHandler. Haverá um GUID como o valor padrão. Acontece que é o valor usado pelos arquivos em lote, arquivos EXE e alguns outros. Como não tenho conhecimento de nenhum objeto COM que o Ruby usa, vamos abusar desse. É rotulado no registro como "destino de descarte .exe". O que parece fazer é "iniciar" o script, passando os nomes dos arquivos como argumentos.
- Clique duas vezes em "(Padrão)" para abrir o valor. Copie o guid e, em seguida, cancele a caixa de edição.
- Agora, encontre "RubyFile" e "RubyWFile" dentro de HKEY_CLASSES_ROOT. O primeiro para scripts de console, e o último parece ser para scripts de GUI. Se você usar um interpretador Ruby diferente do que eu, ou se você mesmo configurar o manipulador padrão, você poderá encontrar as chaves "rbfile" e / ou "rbwfile" em seu lugar.
- Clique com o botão direito em uma das teclas e crie uma nova chave lá chamada "ShellEx", se ela ainda não existir. Em seguida, crie outra chave dentro daquela nova, chamada "DropHandler".
- Edite o valor padrão nessa chave DropHandler e cole no GUID que você copiou na etapa 3. Clique em OK.
- Repita as etapas 5 e 6 com a outra chave.
Uma vez feito isso, você poderá arrastar arquivos para o seu script.