class GemHadar
def version_log_diff(to_version: 'HEAD', from_version: nil)
def version_log_diff(to_version: 'HEAD', from_version: nil) if to_version == 'HEAD' if from_version.blank? from_version = versions.last else unless versions.find { |v| v == from_version } fail "Could not find #{from_version.inspect}." end end `git log -p #{version_identifier(from_version)}..HEAD` else unless versions.find { |v| v == to_version } fail "Could not find #{to_version.inspect}." end if from_version.blank? from_version = versions.each_cons(2).find do |previous_version, v| if v == to_version break previous_version end end unless from_version fail "Could not find version before #{to_version.inspect}." end else unless versions.find { |v| v == from_version } fail "Could not find #{from_version.inspect}." end end `git log -p #{version_identifier(from_version)}..#{version_identifier(to_version)}` end end