class Sign::Generator
Public Instance Methods
create(license, name, year)
click to toggle source
# File lib/sign/generator.rb, line 3 def create(license, name, year) raise ArgumentError, "#{license} is not available." unless File.readable?(license) license_template = File.read(license) name = get_name if name.nil? year = get_year if year.nil? if placeholders_exist?(license_template) new_license = license_template.gsub("[AUTHOR]", name) new_license = new_license.gsub("[YEAR]", year) else new_license = license_template end create_new_file(new_license) end
create_new_file(new_license)
click to toggle source
# File lib/sign/generator.rb, line 26 def create_new_file(new_license) new_file = File.new("LICENSE", "w") new_file.puts(new_license) new_file.close puts "License created \033[91m<3\033[0m" end
find_name()
click to toggle source
# File lib/sign/generator.rb, line 41 def find_name File.foreach("#{gitconfig_path}/.gitconfig").detect do |line| if line.match("\tname") return line.scan(/= (.*)/).last[0] end end end
get_name()
click to toggle source
# File lib/sign/generator.rb, line 33 def get_name if gitconfig_exist? find_name else return "" end end
get_year()
click to toggle source
# File lib/sign/generator.rb, line 49 def get_year return Time.new.year.to_s end
gitconfig_exist?()
click to toggle source
# File lib/sign/generator.rb, line 53 def gitconfig_exist? File.exist?("#{gitconfig_path}/.gitconfig") end
gitconfig_path()
click to toggle source
# File lib/sign/generator.rb, line 57 def gitconfig_path File.expand_path("~/", __dir__) end
placeholders_exist?(license_template)
click to toggle source
# File lib/sign/generator.rb, line 20 def placeholders_exist?(license_template) placeholders = ["[YEAR]", "[AUTHOR]"] placeholders.any? { |placeholder| license_template.include?(placeholder) } end