From 511f5e7c3708de1936f0c18eca591d2f90df5cf3 Mon Sep 17 00:00:00 2001
From: Alex Reisner <alex@alexreisner.com>
Date: Sun, 2 Mar 2014 10:04:24 -0500
Subject: [PATCH] Only require 'zip' if necessary.

---
 lib/tasks/maxmind.rake | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/lib/tasks/maxmind.rake b/lib/tasks/maxmind.rake
index c4e7ba39..0de813a7 100644
--- a/lib/tasks/maxmind.rake
+++ b/lib/tasks/maxmind.rake
@@ -1,5 +1,3 @@
-require 'zip'
-require 'fileutils'
 require 'maxmind_database'
 
 namespace :geocoder do
@@ -17,6 +15,13 @@ namespace :geocoder do
 
       desc "Extract (unzip) MaxMind GeoLite City data"
       task :extract do
+        begin
+          require 'zip'
+        rescue LoadError
+          puts "Please install gem: rubyzip (>= 1.0.0)"
+          exit
+        end
+        require 'fileutils'
         dir = ENV['DIR'] || "tmp/"
         archive_filename = Geocoder::MaxmindDatabase.archive_filename(:geolite_city_csv)
         Zip::File.open(File.join(dir, archive_filename)).each do |entry|
-- 
GitLab