Sha256: 4d5729c24a56a18b530592f5e5969d7626ef51e5457dfe7d56ec96c58c6ae531

Contents?: true

Size: 576 Bytes

Versions: 7

Compression:

Stored size: 576 Bytes

Contents

# frozen_string_literal: true

module KPM
  class Blob
    def initialize(value, tmp_dir)
      @tmp_dir = tmp_dir
      @blob_file = @tmp_dir + File::SEPARATOR + rand.to_s
      store_value(value)
    end

    # On Macos systems, this will require defining a `secure_file_priv` config:
    #
    # e.g /usr/local/etc/my.cnf :
    # [mysqld]
    # ...
    # secure_file_priv=""
    def value
      "LOAD_FILE(\"#{@blob_file}\")"
    end

    private

    def store_value(value)
      File.open(@blob_file, 'wb') do |file|
        file.write(value)
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
kpm-0.10.2 lib/kpm/blob.rb
kpm-0.10.1 lib/kpm/blob.rb
kpm-0.10.0 lib/kpm/blob.rb
kpm-0.9.0 lib/kpm/blob.rb
kpm-0.8.2 lib/kpm/blob.rb
kpm-0.8.1 lib/kpm/blob.rb
kpm-0.8.0 lib/kpm/blob.rb