11defmodule PolishValidators.Pesel do
2- import Enum , only: [ zip: 1 , reduce: 3 , map: 2 ]
2+ import Enum , only: [ zip: 1 , reduce: 3 ]
33 import List , only: [ last: 1 ]
44 import PolishValidators.Common
55
@@ -24,8 +24,7 @@ defmodule PolishValidators.Pesel do
2424 { :error, "Invalid length" }
2525
2626 """
27- #def validate(pesel) do#when is_binary(pesel) do
28- def validate ( pesel ) do
27+ def validate ( pesel ) when is_binary ( pesel ) do
2928 pesel_length = validate_length ( pesel , 11 )
3029
3130 case pesel_length do
@@ -39,6 +38,10 @@ defmodule PolishValidators.Pesel do
3938 end
4039 end
4140
41+ def validate ( _ ) do
42+ throw "Pesel must be a string."
43+ end
44+
4245 defp calculate_checksum ( pesel ) do
4346 ( 10 - ( reduce ( pesel , 0 , & reduce_checksum / 2 ) |> rem ( 10 ) ) )
4447 |> rem ( 10 )
@@ -47,8 +50,4 @@ defmodule PolishValidators.Pesel do
4750 defp reduce_checksum ( pesel , acc ) do
4851 acc + elem ( pesel , 0 ) * elem ( pesel , 1 )
4952 end
50-
51- #def validate(pesel) do
52- # throw "Pesel must be a string."
53- #end
5453end
0 commit comments