tapsoob 0.7.2 → 0.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bda483668081f0108706a5d895ae9e582840831f2f9e45cc75914bda7ad3649c
4
- data.tar.gz: decfcf30f8cba0fc5cca485557d3403ef04fdb50227a65ba13d522c8edbd07b3
3
+ metadata.gz: d5483bf6fead82a0cc2b5392b841abbf19b5bbb99d9a1137f817ede99a1012e3
4
+ data.tar.gz: 0f33862c44439dffe48680e25fe0dbbdcba6a1efc0846dd961049a91512dca30
5
5
  SHA512:
6
- metadata.gz: 53a4b04abadc23ad7aae8818d15deef8491fd7b58ae7e314bf69de3f8dd19bc181ae819937559b9b710a51d4aff6006657d0a60b2ac14e87db7342c5a5606b78
7
- data.tar.gz: a95e9a2ba2a35265f9eb32258c63ebe0a2f9be684f68b31f34364645bc79ceb240d8452380cc43df7c433903859eb09b80f87f7d5005e05976f0adc2a07dfb2f
6
+ metadata.gz: 750cc687fcc1f63f11c4e1b27c7701c5e00e40bc351dac3245df6fd428abadb91f601633b6e37780a6d83311787b7bae91713004528bbe4500e1cbefcb157c5c
7
+ data.tar.gz: 1f5224ae3b8b5bdbd4df9f164932632db9201ec656639c90ba2b6519b5483d62fd66ebd3d87a0847e1e7b2b5bff647608118494e5b07da44d43a68a211ebbaec
data/lib/tapsoob/utils.rb CHANGED
@@ -98,8 +98,6 @@ Data : #{data}
98
98
  # this is not true for other databases so we must check if the field is
99
99
  # actually text and manually convert it back to a string
100
100
  def incorrect_blobs(db, table)
101
- return [] if (db.url =~ /(mysql|mysql2):\/\//).nil?
102
-
103
101
  columns = []
104
102
  db.schema(table).each do |data|
105
103
  column, cdata = data
@@ -109,10 +107,23 @@ Data : #{data}
109
107
  end
110
108
 
111
109
  def encode_blobs(row, columns)
112
- return row if columns.size == 0
110
+ # Encode columns known to be blobs
113
111
  columns.each do |c|
114
- row[c] = base64encode(row[c]) unless row[c].nil?
112
+ if row[c].is_a?(Sequel::SQL::Blob)
113
+ row[c] = base64encode(row[c]) unless row[c].nil?
114
+ elsif !row[c].nil? && row[c].encoding == Encoding::ASCII_8BIT
115
+ # Handle binary data that might not be wrapped in Sequel::SQL::Blob
116
+ row[c] = base64encode(row[c])
117
+ end
118
+ end unless columns.size == 0
119
+
120
+ # Also check all values for Sequel::SQL::Blob objects that might not be in the columns list
121
+ row.each do |key, value|
122
+ if value.is_a?(Sequel::SQL::Blob) && !columns.include?(key)
123
+ row[key] = base64encode(value)
124
+ end
115
125
  end
126
+
116
127
  row
117
128
  end
118
129
 
@@ -1,4 +1,4 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  module Tapsoob
3
- VERSION = "0.7.2".freeze
3
+ VERSION = "0.7.3".freeze
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tapsoob
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Félix Bellanger