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