Class: TrackingNumber::DHL

Inherits:
Base
  • Object
show all
Defined in:
lib/tracking_number/dhl.rb

Constant Summary collapse

SEARCH_PATTERN =
/(\b([0-9]\s*){11,11}\b)/
VERIFY_PATTERN =
/^([0-9]{10,10})([0-9])$/

Instance Attribute Summary

Attributes inherited from Base

#original_number, #tracking_number

Instance Method Summary collapse

Methods inherited from Base

#decode, #initialize, #inspect, scan, search, #to_s, #valid?, #valid_format?

Constructor Details

This class inherits a constructor from TrackingNumber::Base

Instance Method Details

#carrierObject



5
6
7
# File 'lib/tracking_number/dhl.rb', line 5

def carrier
  :dhl
end

#matchesObject



9
10
11
# File 'lib/tracking_number/dhl.rb', line 9

def matches
  self.tracking_number.scan(VERIFY_PATTERN).flatten
end

#valid_checksum?Boolean

Returns:

  • (Boolean)


13
14
15
16
17
# File 'lib/tracking_number/dhl.rb', line 13

def valid_checksum?
  # standard mod 7 check
  sequence, check_digit = matches
  return true if sequence.to_i % 7 == check_digit.to_i
end