Scott Taylor
2007-Mar-19  23:00 UTC
[rspec-users] action_web_services error with rspec_on_rails
I now have two specs in my rails project which correspond to one  
rails controller.  I can run them individually and they pass, but  
running them together (either with the rake task just putting both  
files on the command line):
euclid% spec spec/controllers/crud_resource_controller_spec.rb spec/ 
controllers/crud_resource_controller_with_join_models_spec.rb
/Users/smtlaissezfaire/Sites/rails/dictionary/vendor/rails/ 
actionwebservice/lib/action_web_service/container/ 
action_controller_container.rb:74:in `require_web_service_api'':  
neither _api or _api found (NameError)
         from /Users/smtlaissezfaire/Sites/rails/dictionary/vendor/ 
rails/actionwebservice/lib/action_web_service/container/ 
action_controller_container.rb:48:in `web_service_api''
         from /Users/smtlaissezfaire/Sites/rails/dictionary/vendor/ 
rails/actionwebservice/lib/action_web_service/container/ 
action_controller_container.rb:85:in  
`inherited_without_action_controller''
         from /Users/smtlaissezfaire/Sites/rails/dictionary/vendor/ 
rails/actionwebservice/lib/action_web_service/dispatcher/ 
action_controller_dispatcher.rb:32:in `inherited''
         from ./spec/controllers/ 
crud_resource_controller_with_join_models_spec.rb:5:in `initialize''
         from ./spec/controllers/ 
crud_resource_controller_with_join_models_spec.rb:5:in `new''
         from ./spec/controllers/ 
crud_resource_controller_with_join_models_spec.rb:5:in  
`one_join_model_setup''
         from ./spec/controllers/ 
crud_resource_controller_with_join_models_spec.rb:13
         from /opt/local/lib/ruby/gems/1.8/gems/rspec-0.8.2/lib/spec/ 
runner/context.rb:14:in `class_eval''
          ... 11 levels...
         from /opt/local/lib/ruby/gems/1.8/gems/rspec-0.8.2/lib/spec/ 
runner/command_line.rb:18:in `run''
         from /opt/local/lib/ruby/gems/1.8/gems/rspec-0.8.2/bin/spec:4
         from /opt/local/bin/spec:16:in `load''
         from /opt/local/bin/spec:16
I''m not using webservices at all:  So can someone clue me into what  
is going on or point me in the right direction?  Here are the two specs:
#spec one
require File.dirname(__FILE__) + ''/../spec_helper''
def one_join_model_setup
   unless defined? CommentController
     Object.const_set("CommentController", Class.new 
(CrudResourceController))
   end
   #CommentController.class_eval { join_models :post }
   controller_name ''comment''
end
context "join_model" do
   one_join_model_setup
end
## spec two
require File.dirname(__FILE__) + ''/../spec_helper''
def testing_crud_setup
   unless defined? TestingCrudController
     Object.const_set("TestingCrudController", Class.new 
(CrudResourceController))
   end
   controller_name ''testing_crud''
end
context "An Inherited Controller" do
   testing_crud_setup
   specify "should subclass from CrudResourceController" do
     TestingCrudController.superclass.to_s.should == 
("CrudResourceController")
   end
   specify "should be an instance of TestingCrudController" do
     controller.should be_an_instance_of(TestingCrudController)
   end
end
# more contexts - I believe the revelent code stops here
context "model_name" do
   testing_crud_setup
   specify "should be a private method" do
     controller.private_methods.include?("model_name").should == true
   end
   specify "should be the controller name" do
     controller.send(:model_name).should == "TestingCrud"
   end
end
context "generic_variable" do
   testing_crud_setup
   specify "should be a private method" do
     controller.private_methods.include?("generic_variable").should  
== true
   end
   specify "should return the controller name in underscore case" do
     controller.send(:generic_variable).should == "testing_crud"
   end
end
Thanks for all of your help,
Scott Taylor
