-#!/usr/bin/ruby1.9.1
+#!/usr/bin/ruby
#-*- coding: utf-8 -*-
+#
+# Système de gestion des adhésions de Nos oignons
+# Copyright © 2013-2014 Nos oignons <contact@nos-oignons.net>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
require 'rubygems'
require 'bundler'
Bundler.setup
-require 'safe_yaml'
-SafeYAML::OPTIONS[:default_mode] = :safe
-
-if system('git rev-parse --quiet --verify HEAD >/dev/null')
- against = 'HEAD'
-else
- # Initial commit: diff against an empty tree object
- against = '4b825dc642cb6eb9a060e54bf8d69288fbee4904'
-end
-
-def is_valid_subscription?(content)
- content.length != 0 && YAML.load(content)
-end
-
-def is_valid_subscription_file?(file)
- IO.popen(['git', 'show', ":#{file}"]) do |f|
- is_valid_subscription?(f.read)
- end
-end
-
-modified = []
-IO.popen(['git', 'diff-index', '--cached', '--name-status', against]) do |f|
- f.readlines.each do |line|
- status, file = line.strip.split("\t", 2)
- # Has file been added or modified?
- if ['A', 'M'].include?(status)
- modified << file
- if !is_valid_subscription_file?(file)
- $stderr.puts "Désolé : #{file} n'a pas le bon format !"
- exit 1
- end
- end
- end
-end
+require 'nos_oignons'
+NosOignons.pre_commit_hook!