Class: Dashamail::DynamicSetting

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

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(setting) ⇒ DynamicSetting

Returns a new instance of DynamicSetting.



46
47
48
# File 'lib/dashamail.rb', line 46

def initialize(setting)
  @setting = setting
end

Class Method Details

.build(setting, type) ⇒ Object



36
37
38
# File 'lib/dashamail.rb', line 36

def self.build(setting, type)
  (type ? klass(type) : self).new(setting)
end

.klass(type) ⇒ Object

Raises:

  • (ArgumentError)


40
41
42
43
44
# File 'lib/dashamail.rb', line 40

def self.klass(type)
  klass = "#{type.to_s.camelcase}Setting"
  raise ArgumentError, "Unknown type: #{type}" unless Dashamail.const_defined?(klass)
  Dashamail.const_get(klass)
end

Instance Method Details

#value(*_args) ⇒ Object



50
51
52
# File 'lib/dashamail.rb', line 50

def value(*_args)
  @setting
end