Sha256: ab7bab16d5f0dd86cf262e3f3d688d87d14cdff4b6ac85709de77822f79d7cd9

Contents?: true

Size: 1009 Bytes

Versions: 91

Compression:

Stored size: 1009 Bytes

Contents

Dir[File.join(Dir.pwd, 'tasks', '**', '*.rb')].each { |f| require f }

module Distribution
  class Tarball
    include PackageHelpers
    extend Forwardable

    attr_accessor :arch, :file, :version, :dir, :package

    def_delegators :@package, :arch, :dir

    def initialize(package)
      @package = package
      @file = search || build
      @version = extract_version
    end

    def self.upload(package)
      new(package).to_github
    end

    def to_github
      Release.new(self).upload_asset
    end

    def build
      print_to_console 'Creating tarball...'

      FileUtils.mkdir_p 'distro'
      system "tar -czf distro/#{dir}.tar.gz #{dir} > /dev/null"
      FileUtils.remove_dir "#{dir}", true

      File.new "distro/#{dir}.tar.gz"
    end

    private

    def search
      ball = Dir['distro/*.tar.gz'].find { |n| n.include? "#{arch}.tar.gz" }
      File.new ball unless ball.nil?
    end

    def extract_version
      file.path.match(/\*|\d+(\.\d+){0,2}(\.\*)?/)[0]
    end
  end
end

Version data entries

91 entries across 91 versions & 3 rubygems

Version Path
brief-1.17.14 tasks/distribution/tarball.rb
brief-1.17.13 tasks/distribution/tarball.rb
brief-1.17.12 tasks/distribution/tarball.rb
brief-1.17.11 tasks/distribution/tarball.rb
brief-1.17.10 tasks/distribution/tarball.rb
brief-1.17.9 tasks/distribution/tarball.rb
brief-1.17.8 tasks/distribution/tarball.rb
brief-1.17.7 tasks/distribution/tarball.rb
brief-1.17.5 tasks/distribution/tarball.rb
brief-1.17.4 tasks/distribution/tarball.rb
brief-1.17.3 tasks/distribution/tarball.rb
brief-1.17.2 tasks/distribution/tarball.rb
brief-1.17.1 tasks/distribution/tarball.rb
brief-1.17.0 tasks/distribution/tarball.rb
brief-1.16.2 tasks/distribution/tarball.rb
brief-1.16.1 tasks/distribution/tarball.rb
brief-1.16.0 tasks/distribution/tarball.rb
brief-1.15.5 tasks/distribution/tarball.rb
brief-1.15.4 tasks/distribution/tarball.rb
brief-1.15.3 tasks/distribution/tarball.rb