Sha256: 5314718d87de0cbc4a6479626b143d7ec4afe24d9e18e892ac4866785b373a88

Contents?: true

Size: 1.29 KB

Versions: 2

Compression:

Stored size: 1.29 KB

Contents

# frozen_string_literal: true

require "thor"

require_relative "../make_pr/base"

module Neetob
  class CLI
    module Github
      module Gems
        class Release < MakePr::Base
          attr_accessor :gems, :sandbox

          def initialize(gems, sandbox = false)
            super()
            @gems = gems
            @sandbox = sandbox
          end

          def run
            matching_gems = find_all_matching_gems(gems)
            delete_and_create_temp_neetob_dir
            matching_gems.each do |gem|
              ui.info("\nWorking on #{gem}\n")
              begin
                clone_repo_in_tmp_dir("bigbinary/#{gem}")
                build_gem(gem)
                release_gem(gem)
                if $?.success?
                  ui.success("Gem \"#{gem}\" released successfully")
                end
              rescue StandardError => e
                ExceptionHandler.new(e).process
              end
            end
            `rm -rf /tmp/neetob`
          end

          private

            def build_gem(gem)
              ui.info(`#{cd_to_repo_in_tmp_dir(gem)} && gem build`)
            end

            def release_gem(gem)
              ui.info(`#{cd_to_repo_in_tmp_dir(gem)} && fury push #{gem}-*.gem --as unnitallman`)
            end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
neetob-0.2.4 lib/neetob/cli/github/gems/release.rb
neetob-0.2.3 lib/neetob/cli/github/gems/release.rb