class Giddyup::Util
Public Class Methods
post_files(files)
click to toggle source
# File lib/giddyup/util.rb, line 7 def self.post_files(files) manifest_files = files.inject({}) do |acc, file| acc.merge!({File.basename(file) => {"content" => File.open(file).readlines.inject(""){ |acc, s| acc << s }}}) end params = { "description" => "This gist was ★automagically★ generated by giddyup™", "public" => true, "files" => manifest_files } uri = URI("https://api.github.com/gists") req = Net::HTTP::Post.new(uri.to_s) if File.exists?("~/.g-up/credentials") auth = YAML::load("~/.g-up/credentials") req.basic_auth(auth[:username], auth[:password]) end req.body = params.to_json req["content-type"] = "application/json" Net::HTTP.start(uri.host, uri.port, :use_ssl => true) do |http| request = http.request(req) puts JSON.parse(request.body)["html_url"] end end