Sha256: d122ef5959ca513b9f07bf02c8b72be353f31c2abc4638eac4143625637d1f70
Contents?: true
Size: 955 Bytes
Versions: 1
Compression:
Stored size: 955 Bytes
Contents
require "boop/version" require "securerandom" class Boop def initialize(base_url, repo_dir) @base_url = base_url @repo_dir = File.expand_path(repo_dir) end def paste(name, contents) save(:txt, name, contents) end def html(name, contents) save(:html, name, contents) end private def save(file_extension, name, contents) name ||= SecureRandom.uuid.tr('-', '') filename = "#{name}.#{file_extension}" path = File.join(@repo_dir, filename) File.open(path, 'w') { |f| f.write contents } commit_and_push!(filename) print_url(filename) end # TODO: Have commit message contain /p/blah or /h/blah, instead of just "blah". def commit_and_push!(filename) Dir.chdir(@repo_dir) do `git add #{filename} >/dev/null` `git commit -m "Add paste: #{filename}" >/dev/null` `git push >/dev/null` end end def print_url(filename) puts "#{@base_url}/#{filename}" end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
boop-0.1.0 | lib/boop.rb |