lib/git/modified.rb in git-modified-0.3.0 vs lib/git/modified.rb in git-modified-0.3.1
- old
+ new
@@ -1,56 +1,47 @@
require "git/modified/version"
-require 'contracts'
module Git
module Modified
- include Contracts
-
- Contract Maybe[String] => nil
def self.run
case ARGV.first
when '-v', '--version'
version
else
modified ARGV.first
end
end
- Contract String => nil
def self.version
puts Git::Modified::VERSION
end
- Contract Maybe[String] => nil
def self.modified(hash = nil)
if hash.nil?
show_modified_files_on_working_tree
else
show_modified_files_on_commit hash
end
end
- Contract nil => nil
def self.show_modified_files_on_working_tree
puts `git status --short` \
.each_line \
.reject { |line| line[0..1].split('').lazy.any? { |x| x == 'D' } } \
.reject { |line| line.match /\.(jpe?g|png|gif|svg|eot|mp3|ttf|wav|wof)$/i } \
.map { |line| if line[0] == 'R' then line.split(' ')[-1] else line[3..-1] end }
end
- Contract Maybe[String] => nil
def self.show_modified_files_on_commit(hash)
hashes = `git show --summary --format="%P" #{hash} | head -n 1`.split ' '
if hashes.size == 2
puts `git diff --name-only #{hashes[0]}...#{hashes[1]}`
else
puts `git log -m -1 --name-only --pretty="format:" #{hash}`
end
end
- Contract nil => String
def self.latest_hash
`git log --pretty=format:'%h' -n 1`
end
end
end