diff --git a/lib/rails_wizard/recipe.rb b/lib/rails_wizard/recipe.rb index ff4a4fd..a23778b 100644 --- a/lib/rails_wizard/recipe.rb +++ b/lib/rails_wizard/recipe.rb @@ -94,12 +94,8 @@ def self.to_mongo(value) end def self.from_mongo(key) - case key - when String - RailsWizard::Recipes[key] - when RailsWizard::Recipe - key - end + return key if key.respond_to?(:superclass) && key.superclass == RailsWizard::Recipe + RailsWizard::Recipes[key] end def self.get_binding diff --git a/recipes/hoptoad.rb b/recipes/hoptoad.rb index 2c60945..7ce9f13 100644 --- a/recipes/hoptoad.rb +++ b/recipes/hoptoad.rb @@ -24,7 +24,7 @@ - use_heroku: type: boolean prompt: "Use the Hoptoad Heroku addon?" - + if_recipe: heroku - api_key: prompt: "Enter Hoptoad API Key:" type: string diff --git a/spec/rails_wizard/template_spec.rb b/spec/rails_wizard/template_spec.rb index 8416ba6..032200e 100644 --- a/spec/rails_wizard/template_spec.rb +++ b/spec/rails_wizard/template_spec.rb @@ -1,6 +1,15 @@ require 'spec_helper' describe RailsWizard::Template do + subject{ RailsWizard::Template } + let(:recipe){ RailsWizard::Recipe.generate('name','# test') } + + describe '#initialize' do + it 'should work with classes' do + subject.new([recipe]).should == recipe + end + end + describe '#recipes_with_dependencies' do def r(*deps) mock(:Class, :requires => deps) diff --git a/spec/support/template_runner.rb b/spec/support/template_runner.rb index 6ba637e..fe783ba 100644 --- a/spec/support/template_runner.rb +++ b/spec/support/template_runner.rb @@ -1,5 +1,3 @@ -require 'file_utils' - class TemplateRunner def initialize(template, config) @template = template