Class: EmailAddress::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/email_address/config.rb

Class Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(overrides = {}) ⇒ Config

Returns a new instance of Config.



222
223
224
# File 'lib/email_address/config.rb', line 222

def initialize(overrides = {})
  @config = Config.all_settings(overrides)
end

Class Attribute Details

.providersObject (readonly)

Returns the value of attribute providers.



186
187
188
# File 'lib/email_address/config.rb', line 186

def providers
  @providers
end

Class Method Details

.all_settings(*configs) ⇒ Object



216
217
218
219
220
# File 'lib/email_address/config.rb', line 216

def self.all_settings(*configs)
  config = @config.clone
  configs.each { |c| config.merge!(c) }
  config
end

.configure(config = {}) ⇒ Object

Set multiple default configuration settings



174
175
176
# File 'lib/email_address/config.rb', line 174

def self.configure(config = {})
  @config.merge!(config)
end

.error_message(name, locale = "en") ⇒ Object



198
199
200
# File 'lib/email_address/config.rb', line 198

def self.error_message(name, locale = "en")
  @errors.dig(locale, "email_address", name.to_s) || name.to_s
end

.error_messages(hash = {}, locale = "en", *extra) ⇒ Object

Customize your own error message text.



203
204
205
206
207
208
209
210
211
212
213
214
# File 'lib/email_address/config.rb', line 203

def self.error_messages(hash = {}, locale = "en", *extra)
  hash = extra.first if extra.first.is_a? Hash

  @errors[locale] ||= {}
  @errors[locale]["email_address"] ||= {}

  unless hash.nil? || hash.empty?
    @errors[locale]["email_address"] = @errors[locale]["email_address"].merge(hash)
  end

  @errors[locale]["email_address"]
end

.provider(name, config = {}) ⇒ Object

Configure or lookup a provider by name.



190
191
192
193
194
195
196
# File 'lib/email_address/config.rb', line 190

def self.provider(name, config = {})
  name = name.to_sym
  if config.size > 0
    @providers[name.to_sym] = config
  end
  @providers[name]
end

.setting(name, *value) ⇒ Object



178
179
180
181
182
# File 'lib/email_address/config.rb', line 178

def self.setting(name, *value)
  name = name.to_sym
  @config[name] = value.first if value.size > 0
  @config[name]
end

Instance Method Details

#[](setting) ⇒ Object



230
231
232
# File 'lib/email_address/config.rb', line 230

def [](setting)
  @config[setting.to_sym]
end

#[]=(setting, value) ⇒ Object



226
227
228
# File 'lib/email_address/config.rb', line 226

def []=(setting, value)
  @config[setting.to_sym] = value
end

#configure(settings) ⇒ Object



234
235
236
# File 'lib/email_address/config.rb', line 234

def configure(settings)
  @config = @config.merge(settings)
end

#to_hObject



238
239
240
# File 'lib/email_address/config.rb', line 238

def to_h
  @config
end