diff --git a/CHANGELOG.md b/CHANGELOG.md index ea7a2ab..3a7a91c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ ## [Unreleased] Fixes: +- Fix Bulgaria to accept TINs starting with `10` instead of `00` 🇧🇬 - Fix Finland checks for tins ending in `P` 🇫🇮 - Fix Denmark check for certain ranges of birth years 🇩🇰 diff --git a/lib/tin_valid/bulgaria_tin.rb b/lib/tin_valid/bulgaria_tin.rb index d3d95e9..133e2a1 100644 --- a/lib/tin_valid/bulgaria_tin.rb +++ b/lib/tin_valid/bulgaria_tin.rb @@ -35,9 +35,17 @@ def valid? }x private_constant :MATCHER + def accepted_date?(year, month, day) + if year == "10" + valid_date?(year, month, day) || valid_date?("00", month, day) + else + valid_date?(year, month, day) + end + end + # rubocop:disable Metrics/AbcSize # rubocop:disable Metrics/MethodLength - def accepted_date?(year, month, day) + def valid_date?(year, month, day) month = month.to_i day = day.to_i diff --git a/spec/tin_valid/bulgaria_tin_spec.rb b/spec/tin_valid/bulgaria_tin_spec.rb index bc0cd7c..c857cdc 100644 --- a/spec/tin_valid/bulgaria_tin_spec.rb +++ b/spec/tin_valid/bulgaria_tin_spec.rb @@ -4,6 +4,7 @@ describe "#valid?" do valid_values = [ ["7501010010", nil], + ["1042054007", Date.new(2000, 2, 5)], ["7501010010", Date.new(1975, 1, 1)], ]