Sha256: 5ae0658df6d5db174e5236ec4a9c72df884843d764d817d98a23d106b7d25a13
Contents?: true
Size: 873 Bytes
Versions: 1
Compression:
Stored size: 873 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 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.2.0 | lib/boop.rb |