lib/dbf/table.rb in dbf-5.0.0 vs lib/dbf/table.rb in dbf-5.0.1

- old
+ new

@@ -306,10 +306,17 @@ basename = File.basename(io, '.*') "#{dirname}/#{basename}*.{fpt,FPT,dbt,DBT}" end def open_data(data) # :nodoc: - data.is_a?(StringIO) ? data : File.open(data, 'rb') + case data + when StringIO + data + when String + File.open(data, 'rb') + else + raise ArgumentError, 'data must be a file path or StringIO object' + end rescue Errno::ENOENT raise DBF::FileNotFoundError, "file not found: #{data}" end def open_memo(data, memo = nil) # :nodoc: