Sha256: 3e7fd15dd6270cf4ca1de670febeccf92216168e8e7413e1f952821804542292
Contents?: true
Size: 1.3 KB
Versions: 2
Compression:
Stored size: 1.3 KB
Contents
require "mongo" require "active_support/core_ext" # needed for Hash#diff require "csv" require_relative "assimilate/version" require_relative "assimilate/catalog" require_relative "assimilate/batch" require_relative "assimilate/extender" require_relative "assimilate/command" module Assimilate def self.load(filename, opts = {}) begin catalog = Catalog.new(:config => opts[:config]) batcher = catalog.start_batch(opts.merge(:filename => filename)) records = CSV.read(filename, :headers => true) records.each do |rec| batcher << rec end if opts[:commit] batcher.commit else $stderr.puts "suppressing data commit" end batcher.stats # TODO explicit handling for Assimilate exceptions - when code is stable # rescue Assimilate::DuplicateImportError => e # $stderr.puts e.message # exit 1 end end def self.extend_data(filename, opts = {}) begin catalog = Catalog.new(:config => opts[:config]) extender = catalog.extend_data(opts) records = CSV.read(filename, :headers => true) records.each do |rec| extender << rec end if opts[:commit] extender.commit else $stderr.puts "suppressing data commit" end extender.stats end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
assimilate-0.0.3 | lib/assimilate.rb |
assimilate-0.0.2 | lib/assimilate.rb |