Class: LitmusPaper::ConfigurationFile
- Inherits:
-
Object
- Object
- LitmusPaper::ConfigurationFile
- Defined in:
- lib/litmus_paper/configuration_file.rb
Instance Method Summary collapse
- #cache_location(location) ⇒ Object
- #cache_ttl(ttl) ⇒ Object
- #data_directory(directory) ⇒ Object
- #evaluate(file = @config_file_path) ⇒ Object
- #include_files(glob_pattern) ⇒ Object
-
#initialize(config_file_path) ⇒ ConfigurationFile
constructor
A new instance of ConfigurationFile.
- #port(port) ⇒ Object
- #service(name, &block) ⇒ Object
Constructor Details
#initialize(config_file_path) ⇒ ConfigurationFile
Returns a new instance of ConfigurationFile.
3 4 5 6 7 8 9 10 |
# File 'lib/litmus_paper/configuration_file.rb', line 3 def initialize(config_file_path) @config_file_path = config_file_path @services = {} @port = 9292 @data_directory = "/etc/litmus" @cache_location = "/run/shm" @cache_ttl = -1 end |
Instance Method Details
#cache_location(location) ⇒ Object
48 49 50 |
# File 'lib/litmus_paper/configuration_file.rb', line 48 def cache_location(location) @cache_location = location end |
#cache_ttl(ttl) ⇒ Object
52 53 54 |
# File 'lib/litmus_paper/configuration_file.rb', line 52 def cache_ttl(ttl) @cache_ttl = ttl end |
#data_directory(directory) ⇒ Object
38 39 40 |
# File 'lib/litmus_paper/configuration_file.rb', line 38 def data_directory(directory) @data_directory = directory end |
#evaluate(file = @config_file_path) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/litmus_paper/configuration_file.rb', line 12 def evaluate(file = @config_file_path) LitmusPaper.logger.info "Loading file #{file}" config_contents = File.read(file) instance_eval(config_contents) LitmusPaper::Configuration.new( @port, @data_directory, @services, @cache_location, @cache_ttl ) end |
#include_files(glob_pattern) ⇒ Object
25 26 27 28 29 30 31 32 |
# File 'lib/litmus_paper/configuration_file.rb', line 25 def include_files(glob_pattern) full_glob_pattern = File.(glob_pattern, File.dirname(@config_file_path)) LitmusPaper.logger.info "Searching for files matching: #{full_glob_pattern}" Dir.glob(full_glob_pattern).each do |file| evaluate(file) end end |
#port(port) ⇒ Object
34 35 36 |
# File 'lib/litmus_paper/configuration_file.rb', line 34 def port(port) @port = port end |