Class: CreditCardDetector::Rule
- Inherits:
-
Object
- Object
- CreditCardDetector::Rule
- Defined in:
- lib/credit_card_detector/rule.rb
Instance Method Summary collapse
-
#initialize(length:, prefixes:) ⇒ Rule
constructor
A new instance of Rule.
- #matches?(number) ⇒ Boolean
- #matches_length?(number) ⇒ Boolean
- #matches_prefix?(number) ⇒ Boolean
Constructor Details
#initialize(length:, prefixes:) ⇒ Rule
Returns a new instance of Rule.
3 4 5 6 |
# File 'lib/credit_card_detector/rule.rb', line 3 def initialize(length:, prefixes:) @length = length @regexp = compile_regexp(prefixes) end |
Instance Method Details
#matches?(number) ⇒ Boolean
8 9 10 |
# File 'lib/credit_card_detector/rule.rb', line 8 def matches?(number) matches_length?(number.to_s) && matches_prefix?(number.to_s) end |
#matches_length?(number) ⇒ Boolean
12 13 14 |
# File 'lib/credit_card_detector/rule.rb', line 12 def matches_length?(number) @length.include? number.size end |
#matches_prefix?(number) ⇒ Boolean
16 17 18 |
# File 'lib/credit_card_detector/rule.rb', line 16 def matches_prefix?(number) !!(number =~ @regexp) end |