読者です 読者をやめる 読者になる 読者になる

RubyPico でファイルを Gist にアップロードする

GitHubAPI用の token を取得して下さい(参照)。それを以下のコードの「***」のところに入れます。あとは実行するだけ。コードの保存用にも使えますね。

upload_to_gist.rb

def main
  fname = Popup.input("ファイル名を入力して下さい")
  return unless fname
  unless File.exist?(fname) and File.file?(fname)
    puts "ファイルが存在しないか、ディレクトリです"
    return
  end
  
  file_content = File.open(fname) {|io| io.read}

  # https://developer.github.com/v3/gists/#create-a-gist
  json = {
    description: "Created by RubyPico at #{Time.now}",
    public: true,
    files: {
      fname => {content: file_content}
    }
  }
  
  puts "アップロード中..."
  
  result =  Browser.post(
    "https://api.github.com/gists",
    header: { "Authorization" => "token ***" },
    json: json
  )
  
  if result.length < 100
    puts result
  else
    puts fname + "を Gist にアップロードしました"
  end
end

main