Module: Samwise::Util
- Defined in:
- lib/samwise/util.rb
Class Method Summary collapse
- .duns_contains_forbidden_characters?(duns: nil) ⇒ Boolean
- .duns_is_eight_digits?(duns: nil) ⇒ Boolean
- .duns_is_nine_digits?(duns: nil) ⇒ Boolean
- .duns_is_properly_formatted?(duns: nil) ⇒ Boolean
- .duns_is_thirteen_digits?(duns: nil) ⇒ Boolean
- .format_duns(duns: nil) ⇒ Object
- .string_is_numeric?(string: nil) ⇒ Boolean
Class Method Details
.duns_contains_forbidden_characters?(duns: nil) ⇒ Boolean
32 33 34 35 36 37 38 |
# File 'lib/samwise/util.rb', line 32 def self.duns_contains_forbidden_characters?(duns: nil) duns.split('').each do |character| return false if self.string_is_numeric?(string: character) end false end |
.duns_is_eight_digits?(duns: nil) ⇒ Boolean
48 49 50 |
# File 'lib/samwise/util.rb', line 48 def self.duns_is_eight_digits?(duns: nil) duns.length == 8 end |
.duns_is_nine_digits?(duns: nil) ⇒ Boolean
52 53 54 |
# File 'lib/samwise/util.rb', line 52 def self.duns_is_nine_digits?(duns: nil) duns.length == 9 end |
.duns_is_properly_formatted?(duns: nil) ⇒ Boolean
4 5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/samwise/util.rb', line 4 def self.duns_is_properly_formatted?(duns: nil) return false if duns.nil? duns = duns.gsub('-', '') return true if duns_contains_forbidden_characters?(duns: duns) return true if duns_is_eight_digits?(duns: duns) return true if duns_is_nine_digits?(duns: duns) return true if duns_is_thirteen_digits?(duns: duns) return false end |
.duns_is_thirteen_digits?(duns: nil) ⇒ Boolean
56 57 58 |
# File 'lib/samwise/util.rb', line 56 def self.duns_is_thirteen_digits?(duns: nil) duns.length == 13 end |
.format_duns(duns: nil) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/samwise/util.rb', line 18 def self.format_duns(duns: nil) raise Samwise::Error::InvalidFormat unless duns_is_properly_formatted?(duns: duns) duns = duns.gsub('-', '') if duns_is_nine_digits?(duns: duns) duns = "#{duns}0000" elsif duns_is_eight_digits?(duns: duns) duns = "0#{duns}0000" end duns end |
.string_is_numeric?(string: nil) ⇒ Boolean
40 41 42 43 44 45 46 |
# File 'lib/samwise/util.rb', line 40 def self.string_is_numeric?(string: nil) string.split('').each do |character| return false unless character.to_i.to_s == character end return true end |