I am trying to use cucumber but my application has a "Spec" model (I followed the RailsSpace book). So now I am getting an error when running cucumber (below). I think because cucumber does not like a model named "Spec." But I have "Spec" and "spec(s)" everywhere in my application now. A universal text change is a huge pain. Some innocent text contains the string "spec", e.g. "aspect". So I have to look at each replacement. What can I do? Please help. Thanks. Spec is not a class (TypeError) /Volumes/Data/Beo/Documents/RailsSpace/app/models/spec.rb:1 /opt/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'' /opt/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `polyglot_original_require'' /opt/local/lib/ruby/gems/1.8/gems/polyglot-0.2.9/lib/polyglot.rb:70:in `require'' /opt/local/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/ active_support/dependencies.rb:158:in `require'' /opt/local/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/ active_support/dependencies.rb:265:in `require_or_load'' /opt/local/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/ active_support/dependencies.rb:224:in `depend_on'' /opt/local/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/ active_support/dependencies.rb:136:in `require_dependency'' /opt/local/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb: 414:in `load_application_classes'' /opt/local/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb: 413:in `each'' /opt/local/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb: 413:in `load_application_classes'' /opt/local/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb: 411:in `each'' /opt/local/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb: 411:in `load_application_classes'' /opt/local/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb: 197:in `process'' /opt/local/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb: 113:in `send'' /opt/local/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb: 113:in `run'' /Volumes/Data/Beo/Documents/OptiDev/config/environment.rb:9 /opt/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'' /opt/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `polyglot_original_require'' /opt/local/lib/ruby/gems/1.8/gems/polyglot-0.2.9/lib/polyglot.rb:70:in `require'' /Volumes/Data/Beo/Documents/OptiDev/features/support/env.rb:8 /opt/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'' /opt/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `polyglot_original_require'' /opt/local/lib/ruby/gems/1.8/gems/polyglot-0.2.9/lib/polyglot.rb:70:in `require'' /opt/local/lib/ruby/gems/1.8/gems/cucumber-0.6.1/bin/../lib/cucumber/ rb_support/rb_language.rb:124:in `load_code_file'' /opt/local/lib/ruby/gems/1.8/gems/cucumber-0.6.1/bin/../lib/cucumber/ step_mother.rb:84:in `load_code_file'' /opt/local/lib/ruby/gems/1.8/gems/cucumber-0.6.1/bin/../lib/cucumber/ step_mother.rb:76:in `load_code_files'' /opt/local/lib/ruby/gems/1.8/gems/cucumber-0.6.1/bin/../lib/cucumber/ step_mother.rb:75:in `each'' /opt/local/lib/ruby/gems/1.8/gems/cucumber-0.6.1/bin/../lib/cucumber/ step_mother.rb:75:in `load_code_files'' /opt/local/lib/ruby/gems/1.8/gems/cucumber-0.6.1/bin/../lib/cucumber/ cli/main.rb:48:in `execute!'' /opt/local/lib/ruby/gems/1.8/gems/cucumber-0.6.1/bin/../lib/cucumber/ cli/main.rb:20:in `execute'' /opt/local/lib/ruby/gems/1.8/gems/cucumber-0.6.1/bin/cucumber:8 /opt/local/bin/cucumber:19:in `load'' /opt/local/bin/cucumber:19 -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On Jan 26, 6:51 pm, Vincent P <ease...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> I am trying to use cucumber but my application has a "Spec" model (I > followed the RailsSpace book)....which is quite out of date.> So now I am getting an error when > running cucumber (below). I think because cucumber does not like a > model named "Spec."Actually, I think that would be more of a proble for RSpec. But I could be wrong.> But I have "Spec" and "spec(s)" everywhere in my > application now. A universal text change is a huge pain. Some > innocent text contains the string "spec", e.g. "aspect". So I have to > look at each replacement.Well, you should look at each replacement anyway.> What can I do? Please help.Try a regular expression search and replace, so that you don''t hit innocent words.> Thanks. >Best, -- Marnen Laibow-Koser http://www.marnen.org marnen-sbuyVjPbboAdnm+yROfE0A@public.gmane.org -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Thanks. So the problem is the "Spec" model name? There is no other way but to change "Spec" to something else? I started with RailsSpace as a starting point a while back but my application has evolved since. On Jan 26, 4:56 pm, Marnen Laibow-Koser <mar...-sbuyVjPbboAdnm+yROfE0A@public.gmane.org> wrote:> On Jan 26, 6:51 pm, Vincent P <ease...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > I am trying to use cucumber but my application has a "Spec" model (I > > followed the RailsSpace book). > > ...which is quite out of date. > > > So now I am getting an error when > > running cucumber (below). I think because cucumber does not like a > > model named "Spec." > > Actually, I think that would be more of a proble for RSpec. But I > could be wrong. > > > But I have "Spec" and "spec(s)" everywhere in my > > application now. A universal text change is a huge pain. Some > > innocent text contains the string "spec", e.g. "aspect". So I have to > > look at each replacement. > > Well, you should look at each replacement anyway. > > > What can I do? Please help. > > Try a regular expression search and replace, so that you don''t hit > innocent words. > > > Thanks. > > Best, > -- > Marnen Laibow-Koserhttp://www.marnen.org > mar...-sbuyVjPbboAdnm+yROfE0A@public.gmane.org-- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Learn by Doing wrote:> Thanks. So the problem is the "Spec" model name?Most likely.> There is no other > way but to change "Spec" to something else?Probably not. And this should not be difficult.> > I started with RailsSpace as a starting point a while back but my > application has evolved since.Best, -- Marnen Laibow-Koser http://www.marnen.org marnen-sbuyVjPbboAdnm+yROfE0A@public.gmane.org -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Thanks Marnen. I am trying to use regular expression to replace the text "spec" in TextMate with "mug". I am trying to avoid instances of "spec" where it does not mean the name of the model, e.g. "aspect". So I use the following regular expression: [^a-zA-Z]spec . That would catch "@spec" which is what I want. But if I tell TextMate to replace that with "mug", I lose the character before "spec". TextMate replaces "@spec" with "mug" . How can I make it replace @spec with @mug ? Thanks. On Jan 26, 6:43 pm, Marnen Laibow-Koser <li...-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org> wrote:> Learn by Doing wrote: > > Thanks. So the problem is the "Spec" model name? > > Most likely. > > > There is no other > > way but to change "Spec" to something else? > > Probably not. And this should not be difficult. > > > > > I started with RailsSpace as a starting point a while back but my > > application has evolved since. > > Best, > -- > Marnen Laibow-Koserhttp://www.marnen.org > mar...-sbuyVjPbboAdnm+yROfE0A@public.gmane.org > -- > Posted viahttp://www.ruby-forum.com/.-- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Learn by Doing wrote:> Thanks Marnen. I am trying to use regular expression to replace the > text "spec" in TextMate with "mug". I am trying to avoid instances of > "spec" where it does not mean the name of the model, e.g. "aspect". > So I use the following regular expression: [^a-zA-Z]spec . That > would catch "@spec" which is what I want. But if I tell TextMate to > replace that with "mug", I lose the character before "spec". TextMate > replaces "@spec" with "mug" . How can I make it replace @spec with > @mug ? >Most regexp syntaxes support backreferences in the replace string, which is what you need. Check TextMate''s documentation to see how it implements backreferences.> Thanks.Best, -- Marnen Laibow-Koser http://www.marnen.org marnen-sbuyVjPbboAdnm+yROfE0A@public.gmane.org -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Thanks Marnen! I will surely look into back references next time. Before I got your answer, I managed to do this manually by replacing "Spec" then "spec" when preceded with each of the special characters: @ : '' " / - ! space. I downloaded and used "Name Mangler" to replace "spec" in file names. While tedious, you are right that it is not too difficult. Cucumber seems to work now. I am ready to dive into BDD. Thank you so much for your help. Vincent On Tue, Jan 26, 2010 at 11:07 PM, Marnen Laibow-Koser <lists-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org>wrote:> Learn by Doing wrote: > > Thanks Marnen. I am trying to use regular expression to replace the > > text "spec" in TextMate with "mug". I am trying to avoid instances of > > "spec" where it does not mean the name of the model, e.g. "aspect". > > So I use the following regular expression: [^a-zA-Z]spec . That > > would catch "@spec" which is what I want. But if I tell TextMate to > > replace that with "mug", I lose the character before "spec". TextMate > > replaces "@spec" with "mug" . How can I make it replace @spec with > > @mug ? > > > > Most regexp syntaxes support backreferences in the replace string, which > is what you need. Check TextMate''s documentation to see how it > implements backreferences. > > > Thanks. > > Best, > -- > Marnen Laibow-Koser > http://www.marnen.org > marnen-sbuyVjPbboAdnm+yROfE0A@public.gmane.org > -- > Posted via http://www.ruby-forum.com/. > > -- > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Talk" group. > To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to > rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org<rubyonrails-talk%2Bunsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> > . > For more options, visit this group at > http://groups.google.com/group/rubyonrails-talk?hl=en. > >-- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Marnen! Thank you so much for motivating me to use Cucumber. It makes functional and integration testing so easy! Vincent. On Jan 27, 12:15 am, Ease Bus <ease...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Thanks Marnen! > > I will surely look into back references next time. Before I got your > answer, I managed to do this manually by replacing "Spec" then "spec" when > preceded with each of the special characters: @ : '' " / - ! space. I > downloaded and used "Name Mangler" to replace "spec" in file names. While > tedious, you are right that it is not too difficult. Cucumber seems to work > now. I am ready to dive into BDD. > > Thank you so much for your help. > > Vincent > > On Tue, Jan 26, 2010 at 11:07 PM, Marnen Laibow-Koser > <li...-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org>wrote: > > > > > Learn by Doing wrote: > > > Thanks Marnen. I am trying to use regular expression to replace the > > > text "spec" in TextMate with "mug". I am trying to avoid instances of > > > "spec" where it does not mean the name of the model, e.g. "aspect". > > > So I use the following regular expression: [^a-zA-Z]spec . That > > > would catch "@spec" which is what I want. But if I tell TextMate to > > > replace that with "mug", I lose the character before "spec". TextMate > > > replaces "@spec" with "mug" . How can I make it replace @spec with > > > @mug ? > > > Most regexp syntaxes support backreferences in the replace string, which > > is what you need. Check TextMate''s documentation to see how it > > implements backreferences. > > > > Thanks. > > > Best, > > -- > > Marnen Laibow-Koser > >http://www.marnen.org > > mar...-sbuyVjPbboAdnm+yROfE0A@public.gmane.org > > -- > > Posted viahttp://www.ruby-forum.com/. > > > -- > > You received this message because you are subscribed to the Google Groups > > "Ruby on Rails: Talk" group. > > To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > > To unsubscribe from this group, send email to > > rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org<rubyonrails-talk%2Bunsubscrib e@googlegroups.com> > > . > > For more options, visit this group at > >http://groups.google.com/group/rubyonrails-talk?hl=en.-- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Learn by Doing wrote:> Marnen! > > Thank you so much for motivating me to use Cucumber. It makes > functional and integration testing so easy!You''re most welcome. It''s amazing, isn''t it?> > Vincent.Best, -- Marnen Laibow-Koser http://www.marnen.org marnen-sbuyVjPbboAdnm+yROfE0A@public.gmane.org -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.