module Suvii

@since 0.1.0

Public Class Methods

fetch(url, options = {}) click to toggle source

Downloads and extracts an archive to a temp directory.

@param url [String] URL of an archive to be fetched. @option (see Cache.fetch) @option (see Http.save) @option (see Extract#initialize) @return [String] path to a temp directory with the archive being extracted.

# File lib/suvii.rb, line 17
def self.fetch(url, options = {})
  path_to_archive = Cache.fetch(url, options) do |path|
    Http.save(url, path, options)
  end

  extractor = Extract.class_for(path_to_archive).new(path_to_archive, options)
  extractor.extract_to(Dir.mktmpdir)
end
logger() click to toggle source

@return [Logger] instance of Logger compatible class.

# File lib/suvii.rb, line 27
def self.logger
  @logger ||= Logger.new(STDOUT).tap do |logger|
    logger.level = Logger::INFO
    logger.formatter = proc { |_, _, _, msg| msg }
  end
end
logger=(logger) click to toggle source

Overrides default logger instance.

@param logger [Logger] instance of Logger compatible class.

# File lib/suvii.rb, line 37
def self.logger=(logger)
  @logger = logger
end