Rake removes trailing whitespaces from parameters when task is being executed from command line.
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 42/100
Línea de trabajo
Comienza reproduciendo el comportamiento de la línea de comandos con los ejemplos proporcionados de rake ws[...] y compáralo con la invocación de Rake::Task en la consola. Traza el análisis de los argumentos de la tarea de línea de comandos; se considera terminado cuando se conservan los espacios en blanco iniciales y finales de los parámetros entre comillas, coincidiendo con la invocación directa y ARGV.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Having a simple rake task:
task :ws, [:str] => :environment do |t, args|
puts args.str.inspect
end
I get following results when run this task in command line:
$ rake ws[' ']
nil
$ rake ws[' ']
nil
$ rake ws[' 1']
" 1"
$ rake ws[' 1 ']
" 1"
$ rake 'ws[ ]'
nil
$ rake 'ws[ ]'
nil
$ rake 'ws[ 1]'
" 1"
$ rake 'ws[ 1 ]'
" 1"
While when the task is being invoked in rails console everything works as expected:
2.3.3 :258 > Rake::Task['ws'].invoke(' ')
" "
2.3.3 :259 > Rake::Task['ws'].reenable
2.3.3 :260 > Rake::Task['ws'].invoke(' ')
" "
2.3.3 :261 > Rake::Task['ws'].reenable
2.3.3 :262 > Rake::Task['ws'].invoke(' 1')
" 1"
2.3.3 :263 > Rake::Task['ws'].reenable
2.3.3 :264 > Rake::Task['ws'].invoke(' 1 ')
" 1 "
Again, it is definitely not the OS who is responsible for that trimming, since it shouldn't trim anything between quote marks. And besides it can be easily tested this way:
task :ws, [:str] => :environment do |t, args|
puts args.str.inspect
puts ARGV[1].inspect
end
then in command line:
$ rake 'ws[ 1 ]' ' 2 '
" 1"
" 2 "
Rake version 12.0.0
some investigation on the issue https://stackoverflow.com/questions/45622716/rake-removes-trailing-whitespaces-from-parameters-how-to-prevent#answer-45623592
- Lenguaje dominante
- Ruby
- Estrellas
- 2.5k
- Forks
- 650
- Merge medio
- 6 min
- PR fusionados (30 d)
- 3
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de ruby/rake
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 28/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 45/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
Issues similares
-
SyncEm always forwards a dummy block, so wrapped methods lose their no-block/Enumerator behavior Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
endoflife-date/endoflife.date#11086 ·
-
internal
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
Kong/developer.konghq.com#7322 ·
-
bug P2
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100