Method: QueryReviewer.load_configuration

Defined in:
lib/query_reviewer.rb

.load_configurationObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/query_reviewer.rb', line 9

def self.load_configuration
  default_config = YAML::load(ERB.new(IO.read(File.join(File.dirname(__FILE__), "..", "query_reviewer_defaults.yml"))).result)

  CONFIGURATION.merge!(default_config["all"] || {})
  CONFIGURATION.merge!(default_config[Rails.env || "test"] || {})

  app_config_file = File.join(Rails.root, 'config/query_reviewer.yml')

  if File.file?(app_config_file)
    app_config = YAML.load(ERB.new(IO.read(app_config_file)).result)
    CONFIGURATION.merge!(app_config["all"] || {})
    CONFIGURATION.merge!(app_config[Rails.env || "test"] || {})
  end

  if enabled?
    begin
      CONFIGURATION["uv"] ||= if Gem::Specification.respond_to?(:find_all_by_name)
        !Gem::Specification.find_all_by_name('uv').empty?
      else # RubyGems < 1.8.0
        !Gem.searcher.find("uv").nil?
      end

      if CONFIGURATION["uv"]
        require "uv"
      end
    rescue
      CONFIGURATION["uv"] ||= false
    end

    require "query_reviewer/query_warning"
    require "query_reviewer/array_extensions"
    require "query_reviewer/sql_query"
    require "query_reviewer/mysql_analyzer"
    require "query_reviewer/sql_sub_query"
    require "query_reviewer/mysql_adapter_extensions"
    require "query_reviewer/controller_extensions"
    require "query_reviewer/sql_query_collection"
  end
end