Class: EmailDomainValidator::RailsCache

Inherits:
Object
  • Object
show all
Defined in:
lib/email_domain_validator/rails_cache.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(app, options = {}) ⇒ RailsCache

Returns a new instance of RailsCache.



2
3
4
5
# File 'lib/email_domain_validator/rails_cache.rb', line 2

def initialize(app, options = {})
  @app = app
  @options = options
end

Class Method Details

.cache_key(domain) ⇒ Object



16
17
18
# File 'lib/email_domain_validator/rails_cache.rb', line 16

def self.cache_key(domain)
  [:email_domain_validator, domain]
end

Instance Method Details

#valid?(domain) ⇒ Boolean

Returns:

  • (Boolean)


7
8
9
10
11
12
13
14
# File 'lib/email_domain_validator/rails_cache.rb', line 7

def valid?(domain)
  result = Rails.cache.read(self.class.cache_key(domain))
  if result.nil?
    result = @app.valid?(domain)
    Rails.cache.write(self.class.cache_key(domain), result, @options)
  end
  result
end