Class: TrackingNumberValidator::DHLValidator
- Inherits:
-
Object
- Object
- TrackingNumberValidator::DHLValidator
- Defined in:
- lib/tracking_number_validator/dhl_validator.rb
Constant Summary collapse
- VALID_LENGTHS =
[10, 12, 14]
- WEIGHTINGS =
[4, 9]
Instance Attribute Summary collapse
-
#tracking_number ⇒ Object
readonly
Returns the value of attribute tracking_number.
Instance Method Summary collapse
-
#initialize(tracking_number) ⇒ DHLValidator
constructor
A new instance of DHLValidator.
- #name ⇒ Object
- #valid? ⇒ Boolean
Constructor Details
#initialize(tracking_number) ⇒ DHLValidator
Returns a new instance of DHLValidator.
8 9 10 |
# File 'lib/tracking_number_validator/dhl_validator.rb', line 8 def initialize(tracking_number) @tracking_number = tracking_number end |
Instance Attribute Details
#tracking_number ⇒ Object (readonly)
Returns the value of attribute tracking_number.
3 4 5 |
# File 'lib/tracking_number_validator/dhl_validator.rb', line 3 def tracking_number @tracking_number end |
Instance Method Details
#name ⇒ Object
21 22 23 |
# File 'lib/tracking_number_validator/dhl_validator.rb', line 21 def name :dhl end |
#valid? ⇒ Boolean
12 13 14 15 16 17 18 19 |
# File 'lib/tracking_number_validator/dhl_validator.rb', line 12 def valid? return false unless valid_length? if tracking_number.length == 10 calculate_modulo_7 else calculate_modulo_10 end end |