diff options
Diffstat (limited to 'src/update_assets.rb')
-rwxr-xr-x | src/update_assets.rb | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/src/update_assets.rb b/src/update_assets.rb deleted file mode 100755 index 531a8eeb..00000000 --- a/src/update_assets.rb +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env ruby -# frozen_string_literal: true - -# http://www.rubydoc.info/github/rest-client/rest-client/RestClient -require 'rest_client' -require 'json' - -if ARGV.length < 3 - puts "usage: #{$PROGRAM_NAME} <token> <version> <files...>" - exit 1 -end - -token, version, *files = ARGV -base = 'https://api.github.com/repos/junegunn/fzf-bin/releases' - -# List releases -rels = JSON.parse(RestClient.get(base, authorization: "token #{token}")) -rel = rels.find { |r| r['tag_name'] == version } -unless rel - puts "#{version} not found" - exit 1 -end - -# List assets -assets = Hash[rel['assets'].map { |a| a.values_at('name', 'id') }] - -files.select { |f| File.exist?(f) }.map do |file| - Thread.new do - name = File.basename(file) - - if asset_id = assets[name] # rubocop:todo Lint/AssignmentInCondition - puts "#{name} found. Deleting asset id #{asset_id}." - RestClient.delete("#{base}/assets/#{asset_id}", - authorization: "token #{token}") - else - puts "#{name} not found" - end - - puts "Uploading #{name}" - RestClient.post( - "#{base.sub('api', 'uploads')}/#{rel['id']}/assets?name=#{name}", - File.read(file), - authorization: "token #{token}", - content_type: 'application/octet-stream' - ) - end -end.each(&:join) |