Class: S3MediaServerApi::Config
- Inherits:
-
Object
- Object
- S3MediaServerApi::Config
- Defined in:
- lib/s3_media_server_api/config.rb
Class Method Summary collapse
- .add_config(name, default_value = nil) ⇒ Object
- .configure {|_self| ... } ⇒ Object
- .required(*args) ⇒ Object
Class Method Details
.add_config(name, default_value = nil) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# 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| ... } ⇒ Object
26 27 28 29 30 31 |
# 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) ⇒ Object
22 23 24 |
# File 'lib/s3_media_server_api/config.rb', line 22 def required(*args) @required_keys = args end |