Wrap text
Report abuse
Pastie from the console (thanks pinupgeek)
|
|
require 'pastie_client'
require 'optparse'
class CliPastie
attr :parser
attr :opt
def initialize
@opt = {
:parser => "ruby",
:nick => "anonymous coward",
:key => nil,
:help => false
}
@parser = OptionParser.new do |cmd|
cmd.banner += " \n\nReads from STDIN if not passed a filename.\n\n"
cmd.on('-h', '--help', 'Show usage') { puts parser.help; exit }
# cmd.on('-u', '--nick NICK', 'Set nickname') { |n| opt[:nick] = n }
# cmd.on('-k', '--key KEY', 'Key to authenticate your nick') { |n| opt[:nick] = n }
cmd.on('-l', '--language LANG', 'Set language for syntax highlighting') { |l| opt[:parser] = l }
end
end
def run
parser.parse!(ARGV)
if not ARGV.empty?
body = File.read(ARGV[0])
else
body=STDIN.read
end
return if body.strip.empty?
p = PastieClient.new( :nick => opt[:nick], :key => opt[:key] )
id = p.paste(body, opt[:parser])
puts "http://pastie.caboo.se/paste/#{id}"
end
end
if __FILE__ == $0
CliPastie.new.run
end
|