Sha256: 7131b694f0d8f40a72311550ed2c8bfe898eb33bea242a373b48e1603d33103e
Contents?: true
Size: 1.27 KB
Versions: 2
Compression:
Stored size: 1.27 KB
Contents
require 'rubygems' require 'activesupport' require 'activerecord' require 'tempfile' require 'fastercsv' require 'slither' # config.gem 'ryanwood-slither', :lib => 'slither', :source => 'http://gems.github.com' require 'roo' require 'remote_table/transform' require 'remote_table/request' require 'remote_table/package' require 'remote_table/file' require 'remote_table/file/csv' require 'remote_table/file/fixed_width' require 'remote_table/file/roo_spreadsheet' require 'remote_table/file/ods' require 'remote_table/file/xls' class RemoteTable attr_accessor :request, :package, :file, :transform attr_accessor :table def initialize(bus) @transform = Transform.new(bus) @package = Package.new(bus) @request = Request.new(bus) @file = File.new(bus) end def each_row finish_table! unless table table.each_row { |row| yield row } end def rows cache_rows! if @_row_cache.nil? @_row_cache end private def finish_table! package_path = request.download file_path = package.stage(package_path) raw_table = file.tabulate(file_path) self.table = transform.apply(raw_table) # must return something that responds to each_row end def cache_rows! @_row_cache = [] each_row { |row| @_row_cache << row } end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
seamusabshere-remote_table-0.1.0 | lib/remote_table.rb |
seamusabshere-remote_table-0.1.1 | lib/remote_table.rb |