Sha256: 1cba4dc929e0c94a40728e2d54efabe674b9ec86967f039101db8704d7e25b01

Contents?: true

Size: 1.54 KB

Versions: 1

Compression:

Stored size: 1.54 KB

Contents

require "base64"
require "tempfile"
require "zip"

def extract_gradle(target)
  extract_zip(Radon::Environments.getTargetOf('gradle'), target)
end

def extract_java(target)
  extract_zip(Radon::Environments.getTargetOf('java'), target)
end

def extract_maven(target)
  extract_zip(Radon::Environments.getTargetOf('maven'), target)
end

def extract_python(target)
  extract_zip(Radon::Environments.getTargetOf('python'), target)
end

def extract_ruby(target)
  extract_zip(Radon::Environments.getTargetOf('ruby'), target)
  replace_all_tokens(target)
end

def extract_c(target)
  extract_zip(Radon::Environments.getTargetOf('c'), target)
end

def extract_crystal(target)
  extract_zip(Radon::Environments.getTargetOf('crystal'), target)
  replace_all_tokens(target)
end

def extract_go_s(target)
  extract_zip(Radon::Environments.getTargetOf('go_s'), target)
end

def extract_website(target)
  extract_zip(Radon::Environments.getTargetOf('website'), target)
end

# Extracts some zip data to the passed destination
def extract_zip(file, destination)
  puts "Creating project under #{File.expand_path(destination)}" unless $quiet
  create(destination)
  FileUtils.mkdir_p(destination)

  Zip::File.open(file) do |zip_file|
    zip_file.each do |f|
      fname = f.name.gsub('{{NAME}}', projectify(destination))
      fpath = File.join(destination, fname)
      if File.exists?(fpath)
        skip(fpath)
      else
        create(fpath)
      end
      zip_file.extract(f, fpath) unless File.exist?(fpath)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
radon-0.1.7 lib/core/extract.rb