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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ea8e27ddd0d6d12797336f59d245bc8b62245e59c8fad0ecbf12c97513ac244f
4
- data.tar.gz: d3cc1955ebb54357b5c724ef1b8687a8f69a47f794c445a08840d5dc08fa5861
3
+ metadata.gz: 7d565a51490240e9f5ed724970a568f12641b595b66e426a3a4a1a6ba0c84003
4
+ data.tar.gz: 12fc66ce2b83c55157532d252b52eb6a343174898a7965a636beb7877aa29c17
5
5
  SHA512:
6
- metadata.gz: 87ec87d1e3a45f4ec1f787f4e56d64aad00779aebe5e391656fe457f278219ffa72de97cc4ae679d2b8a14c7f03035fb059397251a290bc21587513382207c82
7
- data.tar.gz: a931c1aa3ab7a5128824cb43bd4ec03217a52d548a071209495dce1647f68f269c78f84c15534ecf35ed9badac227e96a46ab53e0f33a9271d440d832fd26959
6
+ metadata.gz: c2de237f84ddc71f271a782b537f03d10a8586e939ad08f66b34c9f6bcc38a1b34aa4a2899d3248a1ff2f574bfb9920c19d2f134cae01ac66f0e228acd9a1c13
7
+ data.tar.gz: 5b5b3ee469e5afe32bc54ea4f494b543c675a2b4c61b6e6cf56af68ab2ab989a35644b7795a29e1cd9e4dfe8e4129c1abf85696a4ff7df8fb0444f89c7f80193
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 5.1.1
4
+
5
+ - Frozen string literals
6
+
3
7
  ## 5.1.0
4
8
 
5
9
  - Drop support for Ruby 3.0.x
data/lib/dbf/column.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DBF
2
4
  class Column
3
5
  extend Forwardable
@@ -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
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DBF
2
4
  # DBF::Database::Foxpro is the primary interface to a Visual Foxpro database
3
5
  # container (.dbc file). When using this database container, long fieldnames
data/lib/dbf/encodings.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DBF
2
4
  ENCODINGS = {
3
5
  '01' => 'cp437', # U.S. MS-DOS
data/lib/dbf/header.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DBF
2
4
  class Header
3
5
  attr_reader :version, :record_count, :header_length, :record_length, :encoding_key, :encoding
data/lib/dbf/memo/base.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DBF
2
4
  module Memo
3
5
  class Base
@@ -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
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DBF
2
4
  module Memo
3
5
  class Dbase4 < Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DBF
2
4
  module Memo
3
5
  class Foxpro < Base
data/lib/dbf/record.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DBF
2
4
  # An instance of DBF::Record represents a row in the DBF file
3
5
  class Record
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
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DBF
2
4
  class FileNotFoundError < StandardError
3
5
  end
data/lib/dbf/version.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DBF
2
- VERSION = '5.1.0'.freeze
4
+ VERSION = '5.1.1'.freeze
3
5
  end
data/lib/dbf.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'csv'
2
4
  require 'date'
3
5
  require 'forwardable'
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # encoding: ascii-8bit
2
3
 
3
4
  require 'spec_helper'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  RSpec.describe DBF::Database::Foxpro do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  RSpec.describe 'DBF::Table' do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  RSpec.shared_examples_for 'DBF' do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  RSpec.describe DBF::Record do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  RSpec.describe DBF::Table do
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  begin
2
4
  require 'simplecov'
3
5
  SimpleCov.start
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dbf
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.1.0
4
+ version: 5.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Keith Morrison