summaryrefslogtreecommitdiffstats
path: root/src/update_assets.rb
diff options
context:
space:
mode:
Diffstat (limited to 'src/update_assets.rb')
-rwxr-xr-xsrc/update_assets.rb47
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)