Sha256: a9074921f1cfad2c3dcddb50e826b7419f6a82d971a9d1cbda98d918d1705646
Contents?: true
Size: 516 Bytes
Versions: 1
Compression:
Stored size: 516 Bytes
Contents
require "credit_card_detector/rule" module CreditCardDetector class Brand attr_reader :id, :name, :options def initialize(id, data) @id = id @name = data.fetch(:name) @raw_rules = data.fetch(:rules) @options = data.fetch(:options, {}) end def matches?(number) rules.any? { |rule| rule.matches? number } end def luhn? !@options.fetch(:skip_luhn, false) end def rules @rules ||= @raw_rules.map { |rule| Rule.new rule } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
credit_card_detector-0.3 | lib/credit_card_detector/brand.rb |