diff --git a/lib/girocode/code.rb b/lib/girocode/code.rb index b2aae82..c42cdfb 100644 --- a/lib/girocode/code.rb +++ b/lib/girocode/code.rb @@ -59,7 +59,7 @@ def amount=(value) def purpose=(value) unless value.nil? - raise ArgumentError, "invalid purpose #{value.inspect}" unless value.match?(/\A[A-z0-9]{0,4}\z/) + raise ArgumentError, "invalid purpose #{value.inspect}" unless value.match?(/\A[A-Za-z0-9]{0,4}\z/) end @purpose = value end diff --git a/test/girocode_test.rb b/test/girocode_test.rb index 166c990..9967e8e 100644 --- a/test/girocode_test.rb +++ b/test/girocode_test.rb @@ -30,4 +30,10 @@ def test_only_one_reference end end + def test_purpose_rejects_gap_characters + assert_raises ArgumentError do + Girocode.new(bic: 'BHBLDEHHXXX', name: 'Franz Mustermann', iban: 'DE71110220330123456789', currency: :eur, amount: 12.3, purpose: '[') + end + end + end