Module: Onceover::CodeQuality::Environment

Defined in:
lib/onceover/codequality/environment.rb

Constant Summary collapse

ENVIRONMENT_CONF =
"environment.conf"

Class Method Summary collapse

Class Method Details

.get_site_dirsObject

Latest best practice is to change the name of ‘site` to be `site-modules`. This means we need to start processing `environment.conf` to extract this…



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/onceover/codequality/environment.rb', line 10

def self.get_site_dirs()
  if File.exist?(ENVIRONMENT_CONF)
    #modulepath = site-modules:modules:$basemodulepath
    modulepath = open(ENVIRONMENT_CONF) { |f| f.each_line.find { |line| line.include?("modulepath") } }

    begin
      environments = modulepath.split("=")[1].split(":").reject { |e|
        # reject any elements containing interpolation or referencing modules
        # loaded by r10k
        e =~ /\$/ || e == "modules" || e =~ /[\\.\/]/
      }.map {
        |e| e.strip
      }
    rescue NoMethodError => e
      raise "Malformed environment configuration: #{ENVIRONMENT_CONF}"
    end
  else
    raise "Missing environment configuration: #{ENVIRONMENT_CONF}"
  end

  environments
end