Module: Ipgeobase::Task

Defined in:
lib/ipgeobase/task.rb

Class Method Summary collapse

Class Method Details

.obtain_content_by_filename(filename) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/ipgeobase/task.rb', line 5

def self.obtain_content_by_filename(filename)
  if defined? Rails
    file = ::Rails.root.join('tmp', filename)
  else
    file = File.join(File.dirname(__FILE__), '..', '..', 'tmp', filename)
  end
  unless File.exist? file
    puts 'downloading database'
    url = 'http://ipgeobase.ru/files/db/Main/geo_files.tar.gz'
    Kernel.system("curl #{url} | tar -xzOf - #{filename} | iconv -f cp1251 -t utf-8 > #{file}")
  end
  File.read(file)
end