Sha256: 4b3cd06af75cef8e27a04c1216e56a6f631852a1188f4a713e299d94f0379c84

Contents?: true

Size: 1020 Bytes

Versions: 10

Compression:

Stored size: 1020 Bytes

Contents

module Blazer
  module Adapters
    class BaseAdapter
      attr_reader :data_source

      def initialize(data_source)
        @data_source = data_source
      end

      def run_statement(statement, comment)
        # the one required method
      end

      def tables
        [] # optional, but nice to have
      end

      def schema
        [] # optional, but nice to have
      end

      def preview_statement
        "" # also optional, but nice to have
      end

      def reconnect
        # optional
      end

      def cost(statement)
        # optional
      end

      def explain(statement)
        # optional
      end

      def cancel(run_id)
        # optional
      end

      def cachable?(statement)
        true # optional
      end

      def supports_cohort_analysis?
        false # optional
      end

      def cohort_analysis_statement(statement, period:, days:)
        # optional
      end

      protected

      def settings
        @data_source.settings
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
blazer-2.5.0 lib/blazer/adapters/base_adapter.rb
blazer-2.4.8 lib/blazer/adapters/base_adapter.rb
blazer-2.4.7 lib/blazer/adapters/base_adapter.rb
blazer-2.4.6 lib/blazer/adapters/base_adapter.rb
blazer-2.4.5 lib/blazer/adapters/base_adapter.rb
blazer-2.4.4 lib/blazer/adapters/base_adapter.rb
blazer-2.4.3 lib/blazer/adapters/base_adapter.rb
blazer-2.4.2 lib/blazer/adapters/base_adapter.rb
blazer-2.4.1 lib/blazer/adapters/base_adapter.rb
blazer-2.4.0 lib/blazer/adapters/base_adapter.rb