Rakefile in ziptz-2.0.11 vs Rakefile in ziptz-2.0.12
- old
+ new
@@ -19,12 +19,16 @@
desc 'Create ziptz db from zipcodes database'
task :create_ziptz do
require 'yaml'
require 'active_record'
+ require 'tty-spinner'
- db_config = YAML.load(File.open('database.yml'))
+ spinner = TTY::Spinner.new('[:spinner] Retrieving zip codes from database')
+ spinner.auto_spin
+
+ db_config = YAML.safe_load(File.open('database.yml'))
ActiveRecord::Base.establish_connection(db_config)
class ZipCode < ActiveRecord::Base
self.table_name = 'ZIPCodes'
self.primary_key = 'ZipCode'
@@ -32,33 +36,41 @@
alias_attribute :zip_code, :ZipCode
alias_attribute :time_zone, :TimeZone
alias_attribute :day_light_saving, :DayLightSaving
end
- puts 'Retrieving zip codes from database'
-
data = {}
ZipCode.find_each do |zip|
next if zip.time_zone.blank? || zip.day_light_saving.blank?
data[zip.zip_code] ||= {}
data[zip.zip_code][:tz] ||= zip.time_zone
data[zip.zip_code][:dst] ||= zip.day_light_saving
end
+ spinner = TTY::Spinner.new("[:spinner] Retrieving zip codes from database (#{data.size} records)")
+ spinner.success
- puts 'Writing tz.data'
-
+ spinner = TTY::Spinner.new('[:spinner] Writing tz.data')
+ spinner.auto_spin
lines = data.map { |k, v| "#{k}=#{v[:tz]}" }
lines.sort!
-
File.open('data/tz.data', 'w') do |f|
lines.each { |line| f.puts line }
end
+ spinner = TTY::Spinner.new "[:spinner] Writing tz.data (#{File.size('data/tz.data').to_s} bytes)"
+ spinner.success
+ # puts File.size('data/tz.data').to_s
- puts 'Writing dst.data'
+ spinner = TTY::Spinner.new('[:spinner] Writing dst.data')
+ spinner.auto_spin
lines = data.map { |k, v| "#{k}=#{v[:dst] =~ /y/i ? 1 : 0}" }
lines.sort!
File.open('data/dst.data', 'w') do |f|
lines.each { |line| f.puts line }
end
+ spinner = TTY::Spinner.new "[:spinner] Writing dst.data (#{File.size('data/dst.data').to_s} bytes)"
+ spinner.success
+rescue StandardError
+ spinner && spinner.error
+ raise
end