class DearInventory::Validators::String

Public Instance Methods

call() click to toggle source
# File lib/dear_inventory/validators/string.rb, line 10
def call
  value = instance_variable_get(:@value)
  return if value.nil?

  check_type(value)
  check_length(value)
end

Private Instance Methods

check_length(value) click to toggle source
# File lib/dear_inventory/validators/string.rb, line 26
def check_length(value)
  length = instance_variable_get(:@length)
  return if length.nil?
  return if value.length <= length

  raise_error("maximum length is #{length}")
end
check_type(value) click to toggle source
# File lib/dear_inventory/validators/string.rb, line 20
def check_type(value)
  return if value.is_a?(::String)

  raise_error("expected a String but received #{value.inspect}")
end