Skip to content

Instantly share code, notes, and snippets.

@taboularasa
Forked from kechol/seeds.rb
Created March 21, 2013 19:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save taboularasa/5216125 to your computer and use it in GitHub Desktop.
Save taboularasa/5216125 to your computer and use it in GitHub Desktop.
require 'rubygems'
require 'google_drive'
# set your username and password
login = GoogleDrive.login(GoogleDrive::USERNAME, GoogleDrive::PASSWORD)
# set your spreadsheet key
sheet = login.spreadsheet_by_key(GoogleDrive::SPREADSHEET)
sheet.worksheets.each do |ws|
p ws.title
model = eval(ws.title)
columns = model.column_names
rows = ws.rows.dup
fields = rows.shift.map{ |k| k[/\w+/] }
data = []
rows.each do |val|
ary = [fields.dup, val.dup].transpose
ary.select!{ |a| columns.include?(a[0]) }
data.push(Hash[*ary.flatten]) if ary
end
model.create!(data, { without_protection: true }) unless data.empty?
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment