dutchify update voor Ruby 1.8.6

Gepubliceerd op: 9.IV.2007 08:27 CEST
Categorieën: dutchify, plugin, rails, ruby

In Ruby 1.8.6 zijn er wat kleine verhuizingen met betrekking tot de Date class doorgevoerd, met als gevolg dat m’n hackwerk, ter vernederlandsing van datum formaten, applicaties, welke gebruik maken van de dutchify plugin, onklaar heeft gemaakt. In de nieuwste versie is dit probleem opgelost;

ruby script/plugin install --force http://svn.remvee.net/plugins/dutchify

Update probleem gevonden door Stephan gerepareerd; Time wel vertaald Date niet

Update 2 probleem gevonden door Bertus gerepareerd; date_select niet meer vertaald

Update 3 oeps, niet alle tests gedraaid.. Dank je Stephan.

Stephan Kaag @ ongeveer 22 uur
./script/console
>> RUBY_VERSION
=> "1.8.6"
>> Time.now.to_s
=> "di 10 apr 2007, 15:01"
>> Date.today.to_s
=> "Tue 10 Apr 2007"

De Date functies lijken nog niet goed vertaald te worden!

Remco @ 1 dag

Hoempff.. Fixed!


$ ./script/console 
Loading development environment.
>> RUBY_VERSION
=> "1.8.6"
>> Time.now.to_s
=> "di 10 apr 2007, 20:06"
>> Date.today.to_s
=> "di 10 apr 2007"

Stephan Kaag @ 2 dagen

Goed bezig! Hij doet het nu perfect!

Stephan Kaag @ 8 dagen

Zojuist opnieuw geïnstalleerd en de plugin lijkt weer defect geraakt te zijn.


>> RUBY_VERSION
=> "1.8.6"
>> Date.today.to_s
NameError: uninitialized constant Date::Format::ABBR_DAYNAMES
>> Time.now.to_s
NameError: uninitialized constant Date::Format::ABBR_DAYNAMES

Remco @ 8 dagen

Probleem verholpen.

Bertus @ 8 dagen

Inderdaad, hij doet het weer! Prachtig.

Is het een idee om wat meer reclame te maken voor je plugin? Bijvoorbeeld op http://agilewebdevelopment.com?

Bertus

Remco @ 8 dagen

Ik heb hem er meteen toegevoegd; http://agilewebdevelopment.com/plugins/dutchify.

Matthijs Kadijk @ 5 maanden

Hoi Remco,

ik had een klein probleempje met dutchify, de error_messages_for helper blijkt een uitzondering te gooien in het geval er geen instance variable bestaat met de naam van je object.

In mijn geval ging het om user. Indien er geen @user bestaat gaat de volgen code de mist in:

  unless object.errors.empty?

object is namelijk nil

Een eenvoudige oplossing is om deze regel te vervangen door deze:

  if object and object.errors.size > 0

Indien er (nog) geen @object is zijn er ook nog geen fouten…

PS. het gaat om regel 8 van de active_record_helper.rb file …

PPS. de error_messages_for helper helper in rails edge ondersteund meerdere objecten dus als je dutchify helemaal up to date wilt krijgen moet je wellicht eens naar de nieuwe error_messages_for code kijken …

Remco @ 5 maanden

Bedankt! Ik heb hem nil veilig gemaakt. De edge uitbreidingen staan nog op m’n lijstje.

Matthijs Kadijk @ 5 maanden

Remco, bedankt voor de snelle aanpassing ik heb de plugin als external en zag de update inderdaad er net in verschijnen …

Jeroen @ 6 maanden

Er lijkt iets mis te gaan op de SVN server, ik krijg een ‘Could not open the requested SVN filesystem’ error.

Remco @ 6 maanden

Oeps, de verhuizing van m’n repositories was niet helemaal goed gegaan. Het werkt nu weer.

Maran @ 7 maanden

Ik probeer in een bestaand project dutchify te gebruiken bij het gebruik van de dutch_names method gaat het alleen mis. Hij geeft een nomethod error.

Als ik een nieuwe project aanmaak en het daar echt probeer gaat het wel goed. Nog tips met wat ik fout doe?

Error:
You have a nil object when you didn’t expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.+

Remco @ 7 maanden

Kan je de hele stacktrace achter laten?

Maran @ 7 maanden

Maar natuurlijk:

c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/validations.rb:135:in `full_messages'
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/validations.rb:129:in `each'
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/validations.rb:129:in `full_messages'
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/validations.rb:128:in `each_key'
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/validations.rb:128:in `full_messages'
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/validations.rb:13:in `initialize'
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/validations.rb:764:in `new'
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/validations.rb:764:in `save_without_transactions!'
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/transactions.rb:133:in `save!'
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/connection_adapters/abstract/database_statements.rb:59:in `transaction'
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/transactions.rb:95:in `transaction'
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/transactions.rb:121:in `transaction'
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/transactions.rb:133:in `save!'
#{RAILS_ROOT}/app/controllers/account_controller.rb:32:in `nieuw'
-e:4:in `load'
-e:4
Remco @ 7 maanden

Wat is de precieze aanroep dutch_names in je model? Heb je voor alle velden een vertaling gegeven (zou niet nodig moeten zijn)?

Stuur me gerust een e-mail, dat communiceert misschien wat gemakkelijker.

Erik van Oosten @ 7 maanden

Als je Radiant als gem (bijv. versie 0.6.3) gebruikt, dan installeer je deze plugin met:
ruby /var/lib/gems/1.8/gems/radiant-0.6.3/script/plugin install --force http://svn.remvee.net/plugins/dutchify