class GitSemverCop::Semver
Class for modifying and detecting semver
Public Class Methods
new()
click to toggle source
# File lib/git-semver-cop/semver.rb, line 5 def initialize @semver = `git status -z .semver`.strip end
Public Instance Methods
added?()
click to toggle source
# File lib/git-semver-cop/semver.rb, line 38 def added? @semver =~ /(M|A) .semver/ end
ask_add_changes()
click to toggle source
# Get user input
# File lib/git-semver-cop/semver.rb, line 19 def ask_add_changes puts ".semver was modified. Add the file to the commit?\n[y|n]" add_to_git if gets.chomp =~ /^y$/i end
ask_increment()
click to toggle source
# File lib/git-semver-cop/semver.rb, line 24 def ask_increment puts "How big of an increment is this? (semver: M.m.p)\n"\ "[n] none (default)\n[p] patch\n[m] minor\n[M] Major" inc = gets.chomp val = %w(none patch minor Major).find { |v| v =~ /^#{inc[0]}/ } val == "none" ? exit(0) : semver_inc(val) end
enforce()
click to toggle source
# File lib/git-semver-cop/semver.rb, line 9 def enforce if none? then semver_init elsif added? # Nothing to do elsif modified? then ask_add_changes else ask_increment end end
modified?()
click to toggle source
# File lib/git-semver-cop/semver.rb, line 42 def modified? @semver =~ /(M|A) .semver/ end
none?()
click to toggle source
# Check status of semver file
# File lib/git-semver-cop/semver.rb, line 34 def none? !File.exist?(".semver") end
Private Instance Methods
add_to_git()
click to toggle source
# Command line operations
# File lib/git-semver-cop/semver.rb, line 50 def add_to_git system("git add .semver") end
semver_inc(inc)
click to toggle source
# File lib/git-semver-cop/semver.rb, line 59 def semver_inc(inc) system("semver inc #{inc}") add_to_git end
semver_init()
click to toggle source
# File lib/git-semver-cop/semver.rb, line 54 def semver_init puts "Creating a new .semver file" system("semver init") end