class SocketLabs::InjectionApi::Core::StringExtension

Public Instance Methods

is_valid_email_address(email_address) click to toggle source
# File lib/socketlabs/injectionapi/core/string_extension.rb, line 46
def is_valid_email_address(email_address)

  if value_empty(email_address)
    false
  else

    if has_invalid_parts(email_address) || has_invalid_characters(email_address)
      false
    else
      parts = email_address.split('@')
      if parts.count != 2
        false
      else
        !(is_part_empty(parts[0]) || is_part_empty(parts[1]))
      end

    end

  end


end

Private Instance Methods

has_invalid_characters(value) click to toggle source
# File lib/socketlabs/injectionapi/core/string_extension.rb, line 36
def has_invalid_characters(value)
  [',', ' ', ';', 191.chr].each do |x|
    if value.include? x
      true
    end
  end
  false
end
has_invalid_parts(value) click to toggle source
# File lib/socketlabs/injectionapi/core/string_extension.rb, line 16
def has_invalid_parts(value)
  value.count('@') != 1
end
is_part_empty(value) click to toggle source
# File lib/socketlabs/injectionapi/core/string_extension.rb, line 20
def is_part_empty(value)

  unless value_empty(value)
    true
  end

  part = strip_or_self!(value)

  unless value_empty(part)
    true
  end

  part.length <= 0

end
strip_or_self!(str) click to toggle source
# File lib/socketlabs/injectionapi/core/string_extension.rb, line 8
def strip_or_self!(str)
  str.strip! || str if str
end
value_empty(value) click to toggle source
# File lib/socketlabs/injectionapi/core/string_extension.rb, line 12
def value_empty(value)
  value.nil? || value.empty?
end