diff --git a/.gitignore b/.gitignore index b37c39b..5c7f401 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,5 @@ TAGS pkg .yardoc doc -*.gem \ No newline at end of file +*.gem +.bundle diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..e85ebc6 --- /dev/null +++ b/Gemfile @@ -0,0 +1,17 @@ +source :rubygems + +gem 'usher' +gem 'rack', '~> 1.1' +gem 'rack-test' +gem 'hashie' +gem 'extlib' +gem 'tilt', '~> 0.9' +gem 'rack-accept-media-types' + +gem 'rake', :require => false + +group(:test) do + gem 'rspec' + gem 'haml' + gem 'erubis' +end diff --git a/Rakefile b/Rakefile index 0b645a2..679ad5d 100644 --- a/Rakefile +++ b/Rakefile @@ -1,35 +1,7 @@ require 'rubygems' require 'rake' - -begin - require 'jeweler' - Jeweler::Tasks.new do |gem| - gem.name = "pancake" - gem.summary = %Q{Eat Pancake Stacks for Breakfast} - gem.description = %Q{Eat Pancake Stacks for Breakfast} - gem.email = "has.sox@gmail.com" - gem.homepage = "http://github.com/hassox/pancake" - gem.authors = ["Daniel Neighman"] - gem.add_development_dependency "rspec" - gem.add_dependency "usher", ">=0.6.4" - gem.add_development_dependency "extlib" - gem.add_development_dependency "thor" - gem.add_dependency "rack" - gem.add_dependency "tilt", ">=0.3" - gem.add_dependency "hashie", ">=0.1.4" - gem.add_dependency "rack-accept-media-types" - gem.require_path = 'lib' - gem.autorequire = 'pancake' - gem.bindir = "bin" - gem.executables = %w( pancake-gen ) - gem.files = %w(LICENSE README.textile Rakefile TODO) + Dir.glob("{lib,spec,bin}/**/{*,.[a-z]*}") - # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings - end -rescue LoadError - puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler" -end - require 'spec/rake/spectask' + Spec::Rake::SpecTask.new(:spec) do |spec| spec.libs << 'lib' << 'spec' spec.spec_opts = %w(--format progress --color) @@ -41,9 +13,6 @@ Spec::Rake::SpecTask.new(:rcov) do |spec| spec.pattern = 'spec/**/*_spec.rb' spec.rcov = true end - -task :spec => :check_dependencies - task :default => :spec require 'rake/rdoctask' diff --git a/lib/pancake/mixins/render/render.rb b/lib/pancake/mixins/render/render.rb index 060dc25..2aa34b2 100644 --- a/lib/pancake/mixins/render/render.rb +++ b/lib/pancake/mixins/render/render.rb @@ -98,10 +98,10 @@ def _haml_capture(block) end def _erb_capture(block) - _out_buf, @_out_buf = @_out_buf, "" + _out_buf, @_erbout = @_erbout, "" block.call - ret = @_out_buf - @_out_buf = _out_buf + ret = @_erbout + @_erbout = _out_buf ret end @@ -110,7 +110,7 @@ def _haml_concat(string) end def _erb_concat(string) - @_out_buf << string + @_erbout << string end end # Capture diff --git a/lib/pancake/mixins/render/template.rb b/lib/pancake/mixins/render/template.rb index 35c75ac..a7277a8 100644 --- a/lib/pancake/mixins/render/template.rb +++ b/lib/pancake/mixins/render/template.rb @@ -11,7 +11,7 @@ def initialize(name, owner, path) @name, @owner, @path = name, owner, path raise UnamedTemplate unless name raise NotFound unless File.exists?(path) - @renderer = Tilt.new(path) + @renderer = Tilt.new(path, :outvar => '@_erbout') end def render(context = Object.new, opts = {}) diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 1eaff5d..41900d9 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -11,6 +11,7 @@ ENV['RACK_ENV'] = "test" $:.unshift File.join(File.dirname(__FILE__), '..', 'lib') + require 'pancake' Dir[File.join(File.dirname(__FILE__), "helpers", "**/*.rb")].each{|f| require f}