Sha256: a9ab861c7648896f2545e42bc38fea78bb294092ee23a859ab5f8f3c6c21d074

Contents?: true

Size: 495 Bytes

Versions: 12

Compression:

Stored size: 495 Bytes

Contents

module ActiveRecord::Turntable
  class ConnectionProxy
    module Mixable
      extend ActiveSupport::Concern

      METHODS_REGEXP = /\A(insert|select|update|delete|exec_)/
      EXCLUDE_QUERY_REGEXP = /\A\s*SHOW/i
      QUERY_REGEXP = /\A\s*(INSERT|DELETE|UPDATE|SELECT)/i

      def mixable?(method, *args)
        (method.to_s =~ METHODS_REGEXP &&
         args.first !~ EXCLUDE_QUERY_REGEXP) ||
          (method.to_s == "execute" && args.first =~ QUERY_REGEXP)
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
activerecord-turntable-4.4.1 lib/active_record/turntable/connection_proxy/mixable.rb
activerecord-turntable-4.4.0 lib/active_record/turntable/connection_proxy/mixable.rb
activerecord-turntable-4.3.0 lib/active_record/turntable/connection_proxy/mixable.rb
activerecord-turntable-4.2.0 lib/active_record/turntable/connection_proxy/mixable.rb
activerecord-turntable-4.1.0 lib/active_record/turntable/connection_proxy/mixable.rb
activerecord-turntable-4.0.0 lib/active_record/turntable/connection_proxy/mixable.rb
activerecord-turntable-3.1.0 lib/active_record/turntable/connection_proxy/mixable.rb
activerecord-turntable-3.0.1 lib/active_record/turntable/connection_proxy/mixable.rb
activerecord-turntable-3.0.0 lib/active_record/turntable/connection_proxy/mixable.rb
activerecord-turntable-3.0.0.alpha3 lib/active_record/turntable/connection_proxy/mixable.rb
activerecord-turntable-3.0.0.alpha2 lib/active_record/turntable/connection_proxy/mixable.rb
activerecord-turntable-3.0.0.alpha1 lib/active_record/turntable/connection_proxy/mixable.rb