Hi there, I got a Problem using comma-seperated-values as fixtures. It simply does not fixture anything, no error message at all. :( Here my code (... => RAILS_ROOT): # the test in .../test/unit/uk/incode_test.rb require File.dirname(__FILE__) + ''/../../test_helper'' class UK::IncodeTest < Test::Unit::TestCase fixtures File.join( ''uk'', ''uk_incodes'' ) def test_class_for # Returns record for provided incode.code and caches set time_before = Time.now assert_nil UK::Incode.for(''0000'') distance = Time.now - time_before time_before = Time.now assert_instance_of UK::Incode, UK::Incode.for(''PH50'') # stupid test... assert distance > Time.now - time_before end end # the csv in .../test/fixtures/uk/uk_incodes.csv code, posttown, county AB10, ABERDEEN, Aberdeenshire AB11, ABERDEEN, Aberdeenshire AB12, ABERDEEN, Aberdeenshire AB13, MILLTIMBER, Aberdeenshire AB14, PETERCULTER, Aberdeenshire AB15, ABERDEEN, Aberdeenshire # *snip* # the model in .../app/models/uk/incode.rb module UK class Incode < ActiveRecord::Base set_table_name ''uk_incodes'' validates_presence_of :code validates_presence_of :county @@postcodes = Hash.new # Returns record for provided incode.code and caches set def self.for code if @@postcodes.empty? self.find( :all ).each do |postcode| @@postcodes[ postcode.code.to_sym ] = postcode end end p @@postcodes @@postcodes[ code.to_sym ] end end end Thanks for any advice Florian --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@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 -~----------~----~----~----~------~----~------~--~---
Florian Aßmann wrote:> Hi there, > > I got a Problem using comma-seperated-values as fixtures. It simply does > not fixture anything, no error message at all. :([snip]> class UK::IncodeTest < Test::Unit::TestCase > fixtures File.join( ''uk'', ''uk_incodes'' )This fixtures call does not seem like it is correct. At least not from what I can gather from the API docs. Have you tried reading: http://api.rubyonrails.com/classes/Fixtures.html -- Cheers, - Jacob Atzen --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@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 -~----------~----~----~----~------~----~------~--~---
Hi, I tried to reproduce your problem but it works perfectly in my environment. Maybe you should check that there is no uk_incodes.yml file in the same directory than the CSV fixtures file? Simon Florian Aßmann wrote:> Hi there, > > I got a Problem using comma-seperated-values as fixtures. It simply does > not fixture anything, no error message at all. :( > > Here my code (... => RAILS_ROOT): > > # the test in .../test/unit/uk/incode_test.rb > require File.dirname(__FILE__) + ''/../../test_helper'' > > class UK::IncodeTest < Test::Unit::TestCase > fixtures File.join( ''uk'', ''uk_incodes'' ) > > def test_class_for > # Returns record for provided incode.code and caches set > time_before = Time.now > assert_nil UK::Incode.for(''0000'') > distance = Time.now - time_before > > time_before = Time.now > assert_instance_of UK::Incode, UK::Incode.for(''PH50'') > > # stupid test... > assert distance > Time.now - time_before > end > > end > > > # the csv in .../test/fixtures/uk/uk_incodes.csv > code, posttown, county > AB10, ABERDEEN, Aberdeenshire > AB11, ABERDEEN, Aberdeenshire > AB12, ABERDEEN, Aberdeenshire > AB13, MILLTIMBER, Aberdeenshire > AB14, PETERCULTER, Aberdeenshire > AB15, ABERDEEN, Aberdeenshire > # *snip* > > > # the model in .../app/models/uk/incode.rb > module UK > class Incode < ActiveRecord::Base > set_table_name ''uk_incodes'' > > validates_presence_of :code > validates_presence_of :county > > @@postcodes = Hash.new > > # Returns record for provided incode.code and caches set > def self.for code > if @@postcodes.empty? > self.find( :all ).each do |postcode| > @@postcodes[ postcode.code.to_sym ] = postcode > end > end > p @@postcodes > > @@postcodes[ code.to_sym ] > end > > end > end > > Thanks for any advice > Florian > > > > > > >--~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@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 -~----------~----~----~----~------~----~------~--~---
Hi Simon> I tried to reproduce your problem but it works perfectly in my > environment. Maybe you should check that there is no uk_incodes.yml file > in the same directory than the CSV fixtures file?No, there isn''t. I moved uk/uk_incodes.csv to uk_incodes.csv and used the syntax ''fixtures :uk_incodes'' (thanks for the hint Jacob) and it worked right out of the box. The last time I used a String as fixtures parameter because I put the fixture into a subdir it worked. Maybe some update in Rails Fixtures or so... :( Thanks Florian --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@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 -~----------~----~----~----~------~----~------~--~---
Florian Aßmann wrote:> Hi Simon > >> I tried to reproduce your problem but it works perfectly in my >> environment. Maybe you should check that there is no uk_incodes.yml file >> in the same directory than the CSV fixtures file? >> > > No, there isn''t. I moved uk/uk_incodes.csv to uk_incodes.csv and used > the syntax ''fixtures :uk_incodes'' (thanks for the hint Jacob) and it > worked right out of the box. The last time I used a String as fixtures > parameter because I put the fixture into a subdir it worked. > > Maybe some update in Rails Fixtures or so... :( > >Just for the record, what version of Rails are you using? My first test was with Rails 1.2.3. I have double checked with Rails Edge (revision 7071) and it''s still working... Simon --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@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 -~----------~----~----~----~------~----~------~--~---
Hi Simon, I''m using Version 1.2.3 too. Regards Florian --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@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 -~----------~----~----~----~------~----~------~--~---