lib/remote_table/file.rb in remote_table-0.1.6 vs lib/remote_table/file.rb in remote_table-0.2.0
- old
+ new
@@ -1,16 +1,18 @@
class RemoteTable
class File
attr_accessor :filename, :format, :delimiter, :skip, :cut, :crop, :sheet, :headers, :schema, :schema_name, :trap
attr_accessor :path
+ attr_accessor :keep_blank_rows
def initialize(bus)
@filename = bus[:filename]
@format = bus[:format] || format_from_filename
@delimiter = bus[:delimiter]
@sheet = bus[:sheet] || 0
@skip = bus[:skip] # rows
+ @keep_blank_rows = bus[:keep_blank_rows] || false
@crop = bus[:crop] # rows
@cut = bus[:cut] # columns
@headers = bus[:headers]
@schema = bus[:schema]
@schema_name = bus[:schema_name]
@@ -24,19 +26,19 @@
self
end
private
- # doesn't support trap or spacer
+ # doesn't support trap
def define_fixed_width_schema!
raise "can't define both schema_name and schema" if !schema_name.blank?
self.schema_name = "autogenerated_#{filename.gsub(/[^a-z0-9_]/i, '')}".to_sym
self.trap ||= lambda { true }
Slither.define schema_name do |d|
d.rows do |row|
row.trap(&trap)
schema.each do |name, width, options|
- if name == :spacer
+ if name == 'spacer'
row.spacer width
else
row.column name, width, options
end
end