From: Lunar <lunar@anargeek.net>
Date: Fri, 31 May 2013 21:07:16 +0000 (+0200)
Subject: Last step in pre-commit hook implementation
X-Git-Url: https://www.nos-oignons.net/gitweb/gestion-adh.git/commitdiff_plain/fcfec54ac07c989195fa9036cee2d5c48eec8337

Last step in pre-commit hook implementation
---

diff --git a/bin/pre-commit-hook b/bin/pre-commit-hook
index fcfb3e9..317e5c5 100755
--- a/bin/pre-commit-hook
+++ b/bin/pre-commit-hook
@@ -8,6 +8,8 @@ Bundler.setup
 require 'safe_yaml'
 SafeYAML::OPTIONS[:default_mode] = :safe
 
+SUBSCRIPTIONS_ROOT = 'Membres'
+
 if system('git rev-parse --quiet --verify HEAD >/dev/null')
   against = 'HEAD'
 else
@@ -43,6 +45,7 @@ IO.popen(['git', 'diff-index', '--cached', '--name-status', against]) do |f|
     # Has file been added or modified?
     if ['A', 'M'].include?(status)
       modified << file
+      next unless file.start_with?("#{SUBSCRIPTIONS_ROOT}/")
       if !is_valid_subscription_file?(file)
         $stderr.puts "Désolé : #{file} n'a pas le bon format !"
         exit 1
diff --git a/features/pre-commit-hook.feature b/features/pre-commit-hook.feature
index e6066d2..7ac6901 100644
--- a/features/pre-commit-hook.feature
+++ b/features/pre-commit-hook.feature
@@ -15,6 +15,11 @@ Fonctionnalité: pre-commit hook Git
     Et que je fais un `commit` du nouveau fichier
     Alors je ne dois pas avoir eu d'erreur
 
+  Scénario: Autres fichiers
+    Lorsque j'ajoute un fichier hors de la base des adhérents
+    Et que je fais un `commit` du nouveau fichier
+    Alors je ne dois pas avoir eu d'erreur
+
   Scénario: Commit d'un fichier vide
     Lorsque j'ajoute une fiche vide
     Et que je fais un `commit` du nouveau fichier
diff --git a/features/step_definitions/subscriptions.rb b/features/step_definitions/subscriptions.rb
index f5dab63..7b70bd0 100644
--- a/features/step_definitions/subscriptions.rb
+++ b/features/step_definitions/subscriptions.rb
@@ -54,3 +54,8 @@ When /^je supprime le nom sur une fiche existante$/ do
   @file = subscription_filename_for_id(1)
   run_simple "sed -e '/^name:/d' -i #{@file}"
 end
+
+When /^j'ajoute un fichier hors de la base des adhérents$/ do
+  @file = 'test'
+  write_file @file, 'Test content.'
+end