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.



214
215
216
# File 'lib/email_address/config.rb', line 214

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

Class Attribute Details

.providersObject (readonly)

Returns the value of attribute providers.



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

def providers
  @providers
end

Class Method Details

.all_settings(*configs) ⇒ Object



208
209
210
211
212
# File 'lib/email_address/config.rb', line 208

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

.configure(config = {}) ⇒ Object

Set multiple default configuration settings



166
167
168
# File 'lib/email_address/config.rb', line 166

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

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



190
191
192
# File 'lib/email_address/config.rb', line 190

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.



195
196
197
198
199
200
201
202
203
204
205
206
# File 'lib/email_address/config.rb', line 195

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.



182
183
184
185
186
187
188
# File 'lib/email_address/config.rb', line 182

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



170
171
172
173
174
# File 'lib/email_address/config.rb', line 170

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



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

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

#[]=(setting, value) ⇒ Object



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

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

#configure(settings) ⇒ Object



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

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

#to_hObject



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

def to_h
  @config
end