diff --git a/.gitignore b/.gitignore index 11401d9..c6cdda9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .idea +.rvmrc *~ *.gem diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..3d4824d --- /dev/null +++ b/Rakefile @@ -0,0 +1,8 @@ +require 'rake' +require 'spec/version' +require 'spec/rake/spectask' +require 'spec/ruby' + +Spec::Rake::SpecTask.new + +task :default => :spec diff --git a/lib/pie_server.rb b/lib/pie_server.rb index 9ea6afd..6800e52 100644 --- a/lib/pie_server.rb +++ b/lib/pie_server.rb @@ -3,18 +3,14 @@ class Pie::WebApp < Sinatra::Base set :root, File.join(File.expand_path(File.dirname(__FILE__)), "..") - get '/' do - "hello" - end - - get '/:place_name' do + get '/*' do puts "env= #{request.env.inspect}" puts "request.env[PIE_DATA]= #{request.env["PIE_DATA"].inspect}" - pie ||= request.env["PIE_DATA"] - pie ||= settings.pie_data if settings.respond_to? :pie_data + pie ||= request.env["PIE_DATA"] || settings.pie_data puts "pie = #{pie.inspect}" if pie - name = params[:place_name].to_sym + splat = params[:splat].find { |e| e.length > 0 } + name = (splat || settings.pie_data.places.first.first).to_sym pie.current_place(name) unless name.nil? puts "current place name is #{pie.current_place.name}" puts "current place is #{pie.current_place.description}" diff --git a/spec/pie_app_spec.rb b/spec/pie_app_spec.rb index d4c09cc..be97ff3 100644 --- a/spec/pie_app_spec.rb +++ b/spec/pie_app_spec.rb @@ -12,9 +12,14 @@ Capybara.app = Pie::WebApp end - it "should say hello for the root path" do - visit '/' - page.should have_content "hello" + describe "root path" do + before do + place ship:"ookina fune" + end + it "should visit the first place in the list" do + visit '/' + page.should have_content('ookina fune') + end end describe "with one place and an image" do