Jelajahi Sumber

Namespaced RunStatement correctly

Andrew Kane 8 tahun lalu
induk
melakukan
4749e7c037

+ 1 - 1
app/controllers/blazer/queries_controller.rb

@@ -116,7 +116,7 @@ module Blazer
           end
           @result = result.first
         else
-          @result = RunStatement.new.perform(@data_source, @statement, options)
+          @result = Blazer::RunStatement.new.perform(@data_source, @statement, options)
         end
 
         if @result

+ 31 - 29
lib/blazer/run_statement.rb

@@ -1,38 +1,40 @@
-class RunStatement
-  def perform(data_source, statement, options = {})
-    query = options[:query]
-    Blazer.transform_statement.call(data_source, statement) if Blazer.transform_statement
+module Blazer
+  class RunStatement
+    def perform(data_source, statement, options = {})
+      query = options[:query]
+      Blazer.transform_statement.call(data_source, statement) if Blazer.transform_statement
 
-    # audit
-    if Blazer.audit
-      audit = Blazer::Audit.new(statement: statement)
-      audit.query = query
-      audit.data_source = data_source.id
-      audit.user = options[:user]
-      audit.save!
-    end
+      # audit
+      if Blazer.audit
+        audit = Blazer::Audit.new(statement: statement)
+        audit.query = query
+        audit.data_source = data_source.id
+        audit.user = options[:user]
+        audit.save!
+      end
 
-    start_time = Time.now
-    result = data_source.run_statement(statement, options)
-    duration = Time.now - start_time
+      start_time = Time.now
+      result = data_source.run_statement(statement, options)
+      duration = Time.now - start_time
 
-    if Blazer.audit
-      audit.duration = duration if audit.respond_to?(:duration=)
-      audit.error = result.error if audit.respond_to?(:error=)
-      audit.timed_out = result.timed_out? if audit.respond_to?(:timed_out=)
-      audit.cached = result.cached? if audit.respond_to?(:cached=)
-      if !result.cached? && duration >= 10
-        audit.cost = data_source.cost(statement) if audit.respond_to?(:cost=)
+      if Blazer.audit
+        audit.duration = duration if audit.respond_to?(:duration=)
+        audit.error = result.error if audit.respond_to?(:error=)
+        audit.timed_out = result.timed_out? if audit.respond_to?(:timed_out=)
+        audit.cached = result.cached? if audit.respond_to?(:cached=)
+        if !result.cached? && duration >= 10
+          audit.cost = data_source.cost(statement) if audit.respond_to?(:cost=)
+        end
+        audit.save! if audit.changed?
       end
-      audit.save! if audit.changed?
-    end
 
-    if query && !result.timed_out?
-      query.checks.each do |check|
-        check.update_state(result)
+      if query && !result.timed_out?
+        query.checks.each do |check|
+          check.update_state(result)
+        end
       end
-    end
 
-    result
+      result
+    end
   end
 end

+ 1 - 1
lib/blazer/run_statement_job.rb

@@ -8,7 +8,7 @@ module Blazer
     def perform(result, data_source, statement, options)
       begin
         ActiveRecord::Base.connection_pool.with_connection do
-          result << RunStatement.new.perform(data_source, statement, options)
+          result << Blazer::RunStatement.new.perform(data_source, statement, options)
         end
       rescue Exception => e
         result.clear