class S3MediaServerApi::Config

Public Class Methods

add_config(name, default_value = nil) click to toggle source
# File lib/s3_media_server_api/config.rb, line 7
def add_config(name, default_value = nil)

  define_singleton_method "#{name}=".to_sym do |value|
    instance_variable_set("@#{name}".to_sym,value)
  end

  define_singleton_method "#{name}".to_sym do
    value = instance_variable_get(:"@#{name}")
    raise ConfigError.new("Key: '#{name}' cannot be nil.")  if @required_keys.include?(name.to_sym) && value.nil?
    value
  end

  self.send("#{name}=".to_sym, default_value)
end
configure() { |self| ... } click to toggle source
# File lib/s3_media_server_api/config.rb, line 26
def configure
  yield self
  @required_keys.each do |key|
    raise ConfigError.new("Key: #{key} cannot be nil.") if instance_variable_get(:"@#{key}").nil?
  end
end
required(*args) click to toggle source
# File lib/s3_media_server_api/config.rb, line 22
def required(*args)
  @required_keys = args
end