class RbRotate::DirectoryConfiguration

Directory configuration.

Public Class Methods

new(directory) click to toggle source

Constructor.

Expects file path and directory section specification as symbol.

# File lib/rb.rotate/configuration.rb, line 33
def initialize(directory)
    # TODO: this should handle configuration inheritance
    @directory = directory
end

Public Instance Methods

[](name) click to toggle source

Returns some item.

# File lib/rb.rotate/configuration.rb, line 80
def [](name)
    self.data[name]
end
configuration() click to toggle source

Returns configuration file setting.

# File lib/rb.rotate/configuration.rb, line 42
def configuration
    Configuration::get
end
data() click to toggle source

Returns configuration data.

# File lib/rb.rotate/configuration.rb, line 50
def data
    if @data.nil?
        data = self.configuration[:dirs][@directory]
        @data = { }
        
        # Converts strings to symbols
        data.each_pair do |key, value|
            @data[key.to_sym] = value
        end
        
        self.handle_inheritance!
    end
    
    return @data
end
handle_ihneritance!() click to toggle source

Handles configuration inheritance.

# File lib/rb.rotate/configuration.rb, line 70
def handle_ihneritance!
    if @data.include? :parent
        @data.merge! self.class::new(@data[:parent]).data
    end
end
method_missing(name) click to toggle source

Handles method calls.

# File lib/rb.rotate/configuration.rb, line 88
def method_missing(name)
    self[name]
end