Sha256: fcd2ad9b33ecf0b6bf74c2092d110ef0c0b563db0d18d563aff113ee86d05033

Contents?: true

Size: 305 Bytes

Versions: 11

Compression:

Stored size: 305 Bytes

Contents

# frozen_string_literal: true

class IsbnValidator < BaseValidator

  CHARACTERS = %w[
    0 1 2 3 4 5 6 7 8 9 x
  ].freeze

  private

  def valid_attr?
    values = value.to_s.gsub(/-| /, '').downcase.chars
    [10, 13].include?(values.size) && values.all? { |chr| CHARACTERS.include?(chr) }
  end

end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
lite-validators-1.7.2 lib/lite/validators/isbn_validator.rb
lite-validators-1.7.1 lib/lite/validators/isbn_validator.rb
lite-validators-1.7.0 lib/lite/validators/isbn_validator.rb
lite-validators-1.6.0 lib/lite/validators/isbn_validator.rb
lite-validators-1.5.0 lib/lite/validators/isbn_validator.rb
lite-validators-1.4.0 lib/lite/validators/isbn_validator.rb
lite-validators-1.3.2 lib/lite/validators/isbn_validator.rb
lite-validators-1.3.1 lib/lite/validators/isbn_validator.rb
lite-validators-1.3.0 lib/lite/validators/isbn_validator.rb
lite-validators-1.2.0 lib/lite/validators/isbn_validator.rb
lite-validators-1.1.2 lib/lite/validators/isbn_validator.rb