Sha256: ce765e3e61753637b47fe517ee724afb56fcb9d5ec420f1661a416a3c19ee712

Contents?: true

Size: 551 Bytes

Versions: 1

Compression:

Stored size: 551 Bytes

Contents

class Typero::EmailType < Typero::Type

  def set
    @value = @value.downcase.gsub(/\s+/,'+')
  end

  def validate
    raise TypeError, error_for(:not_8_chars_error) unless @value.to_s.length > 7
    raise TypeError, error_for(:missing_monkey_error) unless @value.include?('@')
  end

  def not_8_chars_error
    'is not having at least 8 characters'
  end

  def missing_monkey_error
    'is missing @'
  end

  def db_field
    opts = {}
    opts[:limit] = @opts[:max] || 120
    opts[:null]  = false if @opts[:req]
    [:string, opts]
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
typero-0.5.2 ./lib/typero/type/email.rb