class CompassConfigParser

Attributes

config_file[RW]
params[RW]

Public Class Methods

new(config_file = nil) click to toggle source
# File lib/compass-configparser.rb, line 5
def initialize(config_file = nil)
        @config_file = config_file
        @params = {}
        self.parse_config
end

Public Instance Methods

get_param(key, default) click to toggle source
# File lib/compass-configparser.rb, line 46
def get_param(key, default)
        if self.params[key] != nil
                self.params[key]
        else
                default
        end
end
parse_config() click to toggle source
# File lib/compass-configparser.rb, line 17
def parse_config()
        if self.config_file != nil && File.readable?(self.config_file)
                IO.foreach(self.config_file) do |fLine|
                        line = fLine.lstrip.rstrip
                        # ignore comments, require, include, import and empty lines
                        if !line.match(/^\#|require|include|import|load|discover/) && line.length > 0
                                if(/\s*=\s*/.match(line))
                                        param, value = line.split(/\s*=\s*/, 2)
                                        var_name = "#{param}".chomp.strip
                                        value = value.chomp.strip

                                        new_value = ''
                                        if (value)
                                                if value =~ /^['"](.*)['"]$/
                                                        new_value = $1
                                                else
                                                        new_value = value
                                                end
                                        else
                                                new_value = ''
                                        end

                                        self.params[param] = new_value
                                end
                        end
                end
        end
end
validate_config() click to toggle source
# File lib/compass-configparser.rb, line 11
def validate_config()
        unless File.readable?(self.config_file)
                raise Errno::EACCES, "#{self.config_file} is not readable"
    end
end