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: