module QueryReviewer
Constants
- CONFIGURATION
Public Class Methods
enabled?()
click to toggle source
# File lib/query_reviewer.rb, line 49 def self.enabled? CONFIGURATION["enabled"] end
inject_reviewer()
click to toggle source
# File lib/query_reviewer/rails.rb, line 4 def self.inject_reviewer # Load adapters ActiveRecord::Base adapter_class = ActiveRecord::ConnectionAdapters::MysqlAdapter if defined? ActiveRecord::ConnectionAdapters::MysqlAdapter adapter_class = ActiveRecord::ConnectionAdapters::Mysql2Adapter if defined? ActiveRecord::ConnectionAdapters::Mysql2Adapter adapter_class.send(:include, QueryReviewer::MysqlAdapterExtensions) if adapter_class # Load into controllers ActionController::Base.send(:include, QueryReviewer::ControllerExtensions) Array.send(:include, QueryReviewer::ArrayExtensions) if ActionController::Base.respond_to?(:append_view_path) ActionController::Base.append_view_path(File.dirname(__FILE__) + "/lib/query_reviewer/views") end end
load_configuration()
click to toggle source
# 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
safe_log() { || ... }
click to toggle source
# File lib/query_reviewer.rb, line 53 def self.safe_log(&block) if @logger.nil? yield elsif @logger.respond_to?(:quietly) @logger.quietly { yield } elsif @logger.respond_to?(:silence) @logger.silence { yield } end end