Sha256: a686adc98bf63bb41a1e887ee830ae760f49e06cfb96defc9e98ec55a34d8696

Contents?: true

Size: 666 Bytes

Versions: 1

Compression:

Stored size: 666 Bytes

Contents

module Itiel
  module Script
    #
    # Executes a SQL script or command on the specified
    # connection
    #
    class SQLScript
      include ChainedStep
      include Itiel::DB::SQLConnectable

      attr_accessor :sql

      def initialize(sql=nil, &block)
        if block_given?
          self.sql = block
        else
          self.sql = sql
        end
      end

      def execute(input_stream=nil)
        db = self.class.sequel_connection(connection)
        if input_stream.respond_to?(:each)
          input_stream.each do |row|
            db << sql.call(row)
          end
        else
          db << sql
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
itiel-0.1.1 lib/itiel/script/sql_script.rb