Sha256: 44b75495b31c889a3661174767cf102455d412888341e70cc3744491d6c2fa00
Contents?: true
Size: 1.38 KB
Versions: 9
Compression:
Stored size: 1.38 KB
Contents
#!/usr/bin/env ruby require 'gemplate' require 'userinput' require 'rugged' require 'curb' name = ARGV.first name = UserInput.new(message: 'Gem name', default: name).ask user = Rugged::Config.global['github.user'] || ENV['USER'] user = UserInput.new(message: 'GitHub username', default: user).ask full_name = Rugged::Config.global['user.name'] full_name = UserInput.new(message: 'Full name', default: full_name).ask email = Rugged::Config.global['user.email'] email = UserInput.new(message: 'Email address', default: email).ask irc_command = `security find-generic-password -g -s TravisIRC 2>&1`.split "\n" irc_stanza = irc_command.each_with_object(['', '']) do |x, o| o[1] = x.split[1][1..-2] if x.match(/^password/) o[0] = x.split('=')[1][1..-2] if x.match(/^[\s"]*acct/) end.join(',') irc_stanza = UserInput.new( message: 'IRC channel/key', default: irc_stanza ).ask license_validation = proc do |lname| url = "https://raw.githubusercontent.com/akerl/licenses/master/#{lname}.txt" Curl::Easy.http_head(url).response_code == 200 end puts 'Available licenses can be found here: https://github.com/akerl/licenses' license = UserInput.new( message: 'License', default: 'MIT', validation: license_validation ).ask Gemplate.new( name: name, user: user, full_name: full_name, email: email, irc_stanza: irc_stanza, license: license ).create puts 'New gem has been created!'
Version data entries
9 entries across 9 versions & 1 rubygems