dbf 5.1.0 → 5.1.1
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 +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/dbf/column.rb +2 -0
- data/lib/dbf/column_type.rb +4 -2
- data/lib/dbf/database/foxpro.rb +2 -0
- data/lib/dbf/encodings.rb +2 -0
- data/lib/dbf/header.rb +2 -0
- data/lib/dbf/memo/base.rb +2 -0
- data/lib/dbf/memo/dbase3.rb +3 -1
- data/lib/dbf/memo/dbase4.rb +2 -0
- data/lib/dbf/memo/foxpro.rb +2 -0
- data/lib/dbf/record.rb +2 -0
- data/lib/dbf/schema.rb +4 -2
- data/lib/dbf/table.rb +2 -0
- data/lib/dbf/version.rb +3 -1
- data/lib/dbf.rb +2 -0
- data/spec/dbf/column_spec.rb +1 -0
- data/spec/dbf/database/foxpro_spec.rb +2 -0
- data/spec/dbf/encoding_spec.rb +2 -0
- data/spec/dbf/file_formats_spec.rb +2 -0
- data/spec/dbf/record_spec.rb +2 -0
- data/spec/dbf/table_spec.rb +2 -0
- data/spec/spec_helper.rb +2 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7d565a51490240e9f5ed724970a568f12641b595b66e426a3a4a1a6ba0c84003
|
4
|
+
data.tar.gz: 12fc66ce2b83c55157532d252b52eb6a343174898a7965a636beb7877aa29c17
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c2de237f84ddc71f271a782b537f03d10a8586e939ad08f66b34c9f6bcc38a1b34aa4a2899d3248a1ff2f574bfb9920c19d2f134cae01ac66f0e228acd9a1c13
|
7
|
+
data.tar.gz: 5b5b3ee469e5afe32bc54ea4f494b543c675a2b4c61b6e6cf56af68ab2ab989a35644b7795a29e1cd9e4dfe8e4129c1abf85696a4ff7df8fb0444f89c7f80193
|
data/CHANGELOG.md
CHANGED
data/lib/dbf/column.rb
CHANGED
data/lib/dbf/column_type.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module DBF
|
2
4
|
module ColumnType
|
3
5
|
class Base
|
@@ -95,7 +97,7 @@ module DBF
|
|
95
97
|
# @param value [String]
|
96
98
|
def type_cast(value)
|
97
99
|
if encoding && !value.nil?
|
98
|
-
value.force_encoding(@encoding).encode(Encoding.default_external, undef: :replace, invalid: :replace)
|
100
|
+
value.dup.force_encoding(@encoding).encode(Encoding.default_external, undef: :replace, invalid: :replace)
|
99
101
|
else
|
100
102
|
value
|
101
103
|
end
|
@@ -105,7 +107,7 @@ module DBF
|
|
105
107
|
class General < Base
|
106
108
|
# @param value [String]
|
107
109
|
def type_cast(value)
|
108
|
-
value
|
110
|
+
value&.dup&.force_encoding(Encoding::ASCII_8BIT)
|
109
111
|
end
|
110
112
|
end
|
111
113
|
|
data/lib/dbf/database/foxpro.rb
CHANGED
data/lib/dbf/encodings.rb
CHANGED
data/lib/dbf/header.rb
CHANGED
data/lib/dbf/memo/base.rb
CHANGED
data/lib/dbf/memo/dbase3.rb
CHANGED
@@ -1,9 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module DBF
|
2
4
|
module Memo
|
3
5
|
class Dbase3 < Base
|
4
6
|
def build_memo(start_block) # :nodoc:
|
5
7
|
@data.seek offset(start_block)
|
6
|
-
memo_string = ''
|
8
|
+
memo_string = +''
|
7
9
|
loop do
|
8
10
|
block = @data.read(BLOCK_SIZE).gsub(/(\000|\032)/, '')
|
9
11
|
memo_string << block
|
data/lib/dbf/memo/dbase4.rb
CHANGED
data/lib/dbf/memo/foxpro.rb
CHANGED
data/lib/dbf/record.rb
CHANGED
data/lib/dbf/schema.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module DBF
|
2
4
|
# The Schema module is mixin for the Table class
|
3
5
|
module Schema
|
@@ -47,7 +49,7 @@ module DBF
|
|
47
49
|
end
|
48
50
|
|
49
51
|
def activerecord_schema(*) # :nodoc:
|
50
|
-
s = "ActiveRecord::Schema.define do\n"
|
52
|
+
s = +"ActiveRecord::Schema.define do\n"
|
51
53
|
s << " create_table \"#{name}\" do |t|\n"
|
52
54
|
columns.each do |column|
|
53
55
|
s << " t.column #{activerecord_schema_definition(column)}"
|
@@ -57,7 +59,7 @@ module DBF
|
|
57
59
|
end
|
58
60
|
|
59
61
|
def sequel_schema(table_only: false) # :nodoc:
|
60
|
-
s = ''
|
62
|
+
s = +''
|
61
63
|
s << "Sequel.migration do\n" unless table_only
|
62
64
|
s << " change do\n " unless table_only
|
63
65
|
s << " create_table(:#{name}) do\n"
|
data/lib/dbf/table.rb
CHANGED
data/lib/dbf/version.rb
CHANGED
data/lib/dbf.rb
CHANGED
data/spec/dbf/column_spec.rb
CHANGED
data/spec/dbf/encoding_spec.rb
CHANGED
data/spec/dbf/record_spec.rb
CHANGED
data/spec/dbf/table_spec.rb
CHANGED
data/spec/spec_helper.rb
CHANGED