Module: Nondisposable

Defined in:
lib/nondisposable.rb,
lib/nondisposable/engine.rb,
lib/nondisposable/version.rb,
lib/nondisposable/domain_list_updater.rb,
app/models/nondisposable/disposable_domain.rb,
lib/generators/nondisposable/install_generator.rb,
sig/nondisposable.rbs

Defined Under Namespace

Modules: Generators Classes: Configuration, DisposableDomain, DomainListUpdater, Engine, Error

Constant Summary collapse

VERSION =

Returns:

  • (String)
"0.3.0"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject

Lazily initialized so the gem works safely even when the host app never runs an initializer (previously a nil configuration made every check raise, which the validator surfaced as a validation error on all emails).



17
18
19
# File 'lib/nondisposable.rb', line 17

def configuration
  @configuration ||= Configuration.new
end

Class Method Details

.configure {|configuration| ... } ⇒ Object

Yields:



22
23
24
# File 'lib/nondisposable.rb', line 22

def self.configure
  yield(configuration)
end

.disposable?(email) ⇒ Boolean

Returns:

  • (Boolean)


26
27
28
29
30
31
# File 'lib/nondisposable.rb', line 26

def self.disposable?(email)
  return false if email.nil? || !email.include?('@')
  domain = email.to_s.split('@').last
  return false if domain.nil? || domain.empty?
  DisposableDomain.disposable?(domain.downcase)
end