From 8fac9351ced7d38d11c40cda00fdae238bb76196 Mon Sep 17 00:00:00 2001 From: John Bintz Date: Thu, 18 Aug 2011 12:50:14 -0400 Subject: [PATCH] start of spec work --- Guardfile | 2 +- lib/penchant/gemfile.rb | 20 ++++++++++++++++---- spec/lib/penchant/gemfile_spec.rb | 25 ++++++++++++++++++++++--- 3 files changed, 39 insertions(+), 8 deletions(-) diff --git a/Guardfile b/Guardfile index 767287d..649ad30 100644 --- a/Guardfile +++ b/Guardfile @@ -1,7 +1,7 @@ # A sample Guardfile # More info at https://github.com/guard/guard#readme -guard 'rspec', :version => 2 do +guard 'rspec', :cli => '-c', :version => 2 do watch(%r{^spec/.+_spec\.rb$}) watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" } watch('spec/spec_helper.rb') { "spec" } diff --git a/lib/penchant/gemfile.rb b/lib/penchant/gemfile.rb index e7ba2e9..eaad68c 100644 --- a/lib/penchant/gemfile.rb +++ b/lib/penchant/gemfile.rb @@ -6,17 +6,29 @@ module Penchant @path = path end + def gemfile_path + file_in_path('Gemfile') + end + def has_gemfile? - has_file_in_path?('Gemfile') + File.file?('Gemfile') + end + + def gemfile_erb_path + file_in_path('Gemfile.erb') end def has_gemfile_erb? - has_file_in_path?('Gemfile.erb') + File.file?(gemfile_erb_path) + end + + def environment + File.readlines(gemfile_path).first.strip[%r{environment: (.*)}, 1] end private - def has_file_in_path?(file) - File.file?(File.join(@path, file)) + def file_in_path(file) + File.join(@path, file) end end end diff --git a/spec/lib/penchant/gemfile_spec.rb b/spec/lib/penchant/gemfile_spec.rb index 67bff59..c3bf923 100644 --- a/spec/lib/penchant/gemfile_spec.rb +++ b/spec/lib/penchant/gemfile_spec.rb @@ -24,12 +24,31 @@ describe Penchant::Gemfile do end context 'with gemfile' do + let(:data) { "whatever" } + before do - write_file(gemfile_path) { "whatever" } + write_file(gemfile_path) { data } end - it { should have_gemfile } - it { should_not have_gemfile_erb } + describe 'existence' do + it { should have_gemfile } + it { should_not have_gemfile_erb } + end + + describe '#environment' do + context 'not defined' do + its(:environment) { should be_nil } + end + + context 'defined' do + let(:environment) { 'test' } + let(:data) { <<-GEMFILE } +# generated by penchant, environment: #{environment} +GEMFILE + + its(:environment) { should == environment } + end + end end context 'with gemfile.erb' do