gist: 1059 Download_button fork
public
Public Clone URL: git://gist.github.com/1059.git
gistie.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/usr/bin/env ruby
# Made by Pieter de Bie <frimmirf@gmail.com>
# Based on a "Pastie" task by someone
 
require "tempfile"
 
GIST_URL = 'http://gist.github.com/gists'
GIST_LOGIN_URL = 'https://gist.github.com/session'
USERNAME = "pieter"
TOKEN = "SweetTokenPower"
 
def create_snippet(filename, extension, data)
  text_file = Tempfile.open('w+')
  text_file << data
  text_file.flush
 
  cmd = <<-EOS
curl #{GIST_URL} \
-s -L -o /dev/null -w "%{url_effective}" \
-F "file_ext[gistfile1]=#{extension}" \
-F "file_name[gistfile1]=#{filename}" \
-F "login=#{USERNAME}" \
-F "token=#{TOKEN}" \
-F "file_contents[gistfile1]=<#{text_file.path}" \
-F "x=27" \
-F "y=27"
EOS
 
  url = %x{#{cmd}}
  text_file.close(true)
  return url
end
 
if ARGV.include? "-p"
  data = `pbpaste`
elsif !ARGV.empty?
  @filename = ARGV.shift
  data = File.read(File.expand_path(@filename))
elsif ENV["FILE"]
  @filename = ENV["FILE"]
  data = File.read(File.expand_path(ENV["FILE"]))
else
  data = STDIN.read
end
 
@filename ||= "Unnamed File"
@extension = File.extname(@filename)
@extension = "txt" if @extension == ""
 
url = create_snippet(@filename, @extension, data)
`echo #{url} | pbcopy`
puts "Copied to pasteboard: #{url}"

Owner

pieter

Forks

gist: 1230 by ichvers...   gistie
gist: 2936 by subtleG...   gistie.rb Paste code to gis...
gist: 12231 by martini...   command-line posting to gist

Revisions