Module: TowerdataEmail
- Defined in:
- lib/towerdata_email.rb,
lib/towerdata_email/version.rb,
lib/towerdata_email/providers.rb,
lib/towerdata_email/validators.rb
Defined Under Namespace
Modules: ConnectionData, Validators
Classes: BadAPIConnectionError, Config, Demographics, Email, MustProvideTokenError, NotSupportedByProviderError, Postal, Provider, Response, TokenInvalidError, TowerDataDefault
Constant Summary
collapse
- VERSION =
"0.0.1"
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.config ⇒ Object
17
18
19
|
# File 'lib/towerdata_email.rb', line 17
def self.config
@config ||= TowerdataEmail::Config.new
end
|
.config=(new_config) ⇒ Object
21
22
23
|
# File 'lib/towerdata_email.rb', line 21
def self.config=(new_config)
@config = new_config
end
|
25
26
27
28
|
# File 'lib/towerdata_email.rb', line 25
def self.configure
yield config if block_given?
raise MustProvideTokenError, "Your provider requires an API token" unless config.token
end
|
.demographics_data(email) ⇒ Object
58
59
60
61
|
# File 'lib/towerdata_email.rb', line 58
def self.demographics_data(email)
response = lead_data(email)
response.demographics
end
|
.lead_data(email) ⇒ Object
Before every call check cache first, is just a hash of response objects that is not persisted given provider validates email and returns it as TowerdataEmail::Response Object
41
42
43
|
# File 'lib/towerdata_email.rb', line 41
def self.lead_data(email)
provider.lead_data(email)
end
|
.postal_data(email) ⇒ Object
needs special API permissions
51
52
53
54
55
56
|
# File 'lib/towerdata_email.rb', line 51
def self.postal_data(email)
if config.postal
response = lead_data(email)
response.postal
end
end
|
.provider ⇒ Object
defaults to Tower Data see providers.rb
31
32
33
|
# File 'lib/towerdata_email.rb', line 31
def self.provider
@provider ||= TowerdataEmail::TowerDataDefault.new
end
|
.provider=(new_prov) ⇒ Object
35
36
37
|
# File 'lib/towerdata_email.rb', line 35
def self.provider=(new_prov)
@provider = new_prov
end
|
.validate_email(email) ⇒ Object
45
46
47
48
|
# File 'lib/towerdata_email.rb', line 45
def self.validate_email(email)
response = lead_data(email)
response.email
end
|
Instance Method Details
#initialize ⇒ Object
12
13
14
|
# File 'lib/towerdata_email.rb', line 12
def initialize
end
|