diff --git a/bin/penchant b/bin/penchant index b6eecbe..442c2b5 100755 --- a/bin/penchant +++ b/bin/penchant @@ -19,6 +19,12 @@ class PenchantCLI < Thor def gemfile(env) Penchant::Gemfile.do_full_env_switch!(env) end + + desc "gemfile-env", "Get the gemfile environment" + def gemfile_env + gemfile = Penchant::Gemfile.new + puts gemfile.environment + end end PenchantCLI.start diff --git a/lib/penchant/gemfile.rb b/lib/penchant/gemfile.rb index ec640fd..d3f224a 100644 --- a/lib/penchant/gemfile.rb +++ b/lib/penchant/gemfile.rb @@ -41,7 +41,7 @@ module Penchant File.readlines(gemfile_path).first.strip[%r{environment: (.*)}, 1] end - def switch_to!(gemfile_env) + def switch_to!(gemfile_env = nil) @env = gemfile_env template = File.read(gemfile_erb_path) diff --git a/spec/lib/penchant/gemfile_spec.rb b/spec/lib/penchant/gemfile_spec.rb index 1fcf153..cc22c51 100644 --- a/spec/lib/penchant/gemfile_spec.rb +++ b/spec/lib/penchant/gemfile_spec.rb @@ -84,15 +84,25 @@ ERB subject.switch_to!(:test) File.read('Gemfile').should include('test') + File.read('Gemfile').should_not include('not') File.read('Gemfile').should include('all') end it 'should not render test data' do subject.switch_to!(:not) + File.read('Gemfile').should_not include('test') File.read('Gemfile').should include('not') File.read('Gemfile').should include('all') end + + it 'should not render either' do + subject.switch_to! + + File.read('Gemfile').should_not include('test') + File.read('Gemfile').should_not include('not') + File.read('Gemfile').should include('all') + end end end end diff --git a/template/script/hooks/pre-commit b/template/script/hooks/pre-commit index 4ef8a0b..426301f 100755 --- a/template/script/hooks/pre-commit +++ b/template/script/hooks/pre-commit @@ -1,7 +1,10 @@ #!/bin/bash +OLD_GIT_DIR=$GIT_DIR + unset GIT_DIR -script/gemfile remote +penchant gemfile remote +GIT_DIR=$OLD_GIT_DIR bundle exec rake R=$?