Sha256: d15b33dea39829234b4b86b6f66ba026780271f79a51ab7836a46c482d2865aa
Contents?: true
Size: 1.82 KB
Versions: 4
Compression:
Stored size: 1.82 KB
Contents
# Copyright:: (c) Autotelik Media Ltd 2011 # Author :: Tom Statter # Date :: Feb 2011 # License:: TBD. Free, Open Source. MIT ? # # REQUIRES: JRuby # # Usage:: # # In Rakefile: # # require 'ar_loader' # # ArLoader::load_tasks # # Cmd Line: # # => jruby -S rake ar_loader:excel model=<active record class> input=<file.xls> # => jruby -S rake ar_loader:excel model=<active record class> input=C:\MyProducts.xlsverbose=true # require 'ar_loader' require 'excel_loader' namespace :ar_loader do desc "Populate a model's table in db with data from .xls (Excel) file" task :excel, [:model, :loader, :input, :verbose] => [:environment] do |t, args| # in familiar ruby style args seems to have been become empty using this new style for rake 0.9.2 # whatever format i try, on both Win and OSX .. so had to revert back to ENV model = ENV['model'] input = ENV['input'] raise "USAGE: jruby -S rake ar_loader:excel input=excel_file.xls model=<Class>" unless(input) raise "ERROR: Cannot process without AR Model - please supply model=<Class>" unless(model) raise "ERROR: Could not find file #{args[:input]}" unless File.exists?(input) begin klass = Kernel.const_get(model) rescue NameError raise "ERROR: No such AR Model found - check valid model supplied via model=<Class>" end if(ENV['loader']) begin loader_klass = Kernel.const_get(ENV['loader']) loader = loader_klass.new(klass) puts "INFO: Using loader : #{loader.class}" rescue puts "INFO: No specific #{model}Loader found - using generic ExcelLoader" loader = ARLoader::ExcelLoader.new(klass) end else puts "INFO: No Loader specified - using generic ExcelLoader" loader = ARLoader::ExcelLoader.new(klass) end loader.load(input) end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
ar_loader-1.0.0.0 | tasks/excel_loader.rake |
ar_loader-9.9.9 | tasks/excel_loader.rake |
ar_loader-0.0.9 | tasks/excel_loader.rake |
ar_loader-0.0.8 | tasks/excel_loader.rake |