Sha256: 717362a78be0ac01baa2503cec323f6a72f209900d9eaa451170dc52f78381c4
Contents?: true
Size: 1.31 KB
Versions: 12
Compression:
Stored size: 1.31 KB
Contents
# encoding: UTF-8 # Copyright 2012 Twitter, Inc # http://www.apache.org/licenses/LICENSE-2.0 require 'net/ftp' require 'fileutils' module TwitterCldr module Resources module Requirements class UnicodeRequirement UNICODE_URL = "ftp://ftp.unicode.org/Public/%{version}".freeze attr_reader :version, :files def initialize(version, files) @version = version @files = files end def prepare files.each do |file| unless File.file?(source_path_for(file)) STDOUT.write("Downloading #{file} from unicode v#{version}... ") download(file) puts 'done' end puts "Using #{file} from unicode v#{version}" end end def source_path_for(file) File.join(TwitterCldr::VENDOR_DIR, "unicode_v#{version}", file) end def url UNICODE_URL end private def download(file) source_path = source_path_for(file) FileUtils.mkdir_p(File.dirname(source_path)) uri = URI(File.join(url % { version: version }, file)) Net::FTP.open(uri.host) do |ftp| ftp.login ftp.getbinaryfile(uri.path, source_path) end end end end end end
Version data entries
12 entries across 12 versions & 1 rubygems