diff --git a/.DS_Store b/.DS_Store index 55a3d3f..25eddca 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/Guardfile b/Guardfile new file mode 100644 index 0000000..f547850 --- /dev/null +++ b/Guardfile @@ -0,0 +1,24 @@ +# A sample Guardfile +# More info at https://github.com/guard/guard#readme + +guard 'rspec' do + watch(%r{^spec/.+_spec\.rb$}) + watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" } + watch('spec/spec_helper.rb') { "spec" } + + # Rails example + watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" } + watch(%r{^app/(.*)(\.erb|\.haml)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" } + watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] } + watch(%r{^spec/support/(.+)\.rb$}) { "spec" } + watch('config/routes.rb') { "spec/routing" } + watch('app/controllers/application_controller.rb') { "spec/controllers" } + + # Capybara features specs + watch(%r{^app/views/(.+)/.*\.(erb|haml)$}) { |m| "spec/features/#{m[1]}_spec.rb" } + + # Turnip features and steps + watch(%r{^spec/acceptance/(.+)\.feature$}) + watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' } +end + diff --git a/grape-active_model_serializers.gemspec b/grape-active_model_serializers.gemspec index 722c001..5a7d101 100644 --- a/grape-active_model_serializers.gemspec +++ b/grape-active_model_serializers.gemspec @@ -22,4 +22,5 @@ Gem::Specification.new do |gem| gem.add_development_dependency "rack-test" gem.add_development_dependency "rake" gem.add_development_dependency "jazz_hands" + gem.add_development_dependency 'guard-rspec' end diff --git a/spec/grape_ams_spec.rb b/spec/grape_ams_spec.rb index 69da288..ea4b19c 100644 --- a/spec/grape_ams_spec.rb +++ b/spec/grape_ams_spec.rb @@ -85,5 +85,16 @@ describe Grape::ActiveModelSerializers do get "/admin/jeff" last_response.body.should == "{\"user\":{\"first_name\":\"Jeff\",\"last_name\":null}}" end + + it 'uses the name of the closest scope (namespace/route) for the root' do + app.namespace :admin, :serializer => UserSerializer do + get('/jeff') do + User.new(first_name: 'Jeff') + end + end + + get "/admin/jeff" + last_response.body.should == "{\"admin\":{\"first_name\":\"Jeff\",\"last_name\":null}}" + end end