IPAddr#mask method accepts arguments other than integers.
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Ruby
- Estrellas
- 82
- Forks
- 42
- Merge medio
- 2 h 24 min
- PR fusionados (30 d)
- 3
Descripción
IPAddr#mask method expects an integer argument, but it accepts non-integer values (such as floats or arrays) if passed.
ip = IPAddr.new('1.2.3.4')
p ip.mask(0.1)
# => #<IPAddr: IPv4:0.0.0.0/128.0.0.0>
p ip.mask(1.2)
# => #<IPAddr: IPv4:0.0.0.0/192.0.0.0>
p ip.mask(11.3)
# => #<IPAddr: IPv4:1.0.0.0/255.240.0.0>
p ip.mask([])
# => `mask!': undefined method `<' for []:Array (NoMethodError)
So, I think it is better to restrict the arguments of this method to integers and throw an exception if they are not integers.
Like this.
ip = IPAddr.new('1.2.3.4')
p ip.mask(0.1)
# => `mask!': invalid mask 0.1 (IPAddr::InvalidPrefixError)
I'm currently implementing this improvement and want to submit a pull request as a contribute to this repo.
Would this be acceptable?
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
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.
Línea de trabajo
Comienza por el método IPAddr#mask y reproduce los ejemplos de float y array del issue. El cambio estará terminado cuando los argumentos que no sean enteros generen IPAddr::InvalidPrefixError, mientras que las máscaras enteras sigan funcionando como se espera.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- ruby
- Área
- networking
- Tipo de issue
- Error
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100