Search
View Article  "YYYY-MM-DD 24:00:00".to_time ouch

Be aware of the bug in Rails ActiveSupport String.to_time method

(rdb:1) "2009-09-10 24:00:00".to_time - "2009-09-10 00:00:00".to_time
TypeError Exception: expected numeric or date
(rdb:1) "2009-09-10 24:00:00".to_time.to_time - "2009-09-10 00:00:00".to_time
86400.0
(rdb:1) p "2009-09-10 24:00:00".to_time.class
DateTime
(rdb:1) p "2009-09-10 00:00:00".to_time.class
Time
(rdb:1) 
   more »
View Article  FasterCSV and development mode in Rails 2.3, Rack and Passenger

Using Proc as a response you pass from the controller sometimes causes 500 error. It happens to be the nature of the Rack/Rails life cycle. Before response was sent/called before Dependencies cleanup in Rails, because it was part of the flow on request-response processing. Now with Rack in front of Rails, the Proc is not called in the request-response flow of the Rails, but in the Rack after Rails finished and if you happens to use Model classes inside the Proc, then you may get empty or partial response and some errors in Apache error logs

   more »

View Article  Rails 2.3, Rack and FasterCSV

With recent update to Rails 2.3 we found that we cant' strem CSV with FasterCSV anymore

   more »
View Article  Re: process hangs - (Errno::ESPIPE) "Illegal seek" rails + passenger

With a recent upgrade to passenger to 2.0.6 ESPIPE come back again. Another patch ...

   more »

it has a bug or feature in it. yeilding inside with_scope will put scope on the same class

migration

class ...
   more »
View Article  ROR: Migrations, fixtures, test, mysql and Mysql::Error Duplicate entry

Few days ago we upgraded our test server with mysql 5.1.30 (before we had 5.0.27) and tests started to fail. ...   more »

View Article  Google Map API suprise
Not well formed XML in Google MAP geocoding result   more »
View Article  Back from UTF8 for CSV in Ruby on Rails

Rails taking care for your to handle UTF-8. How about when you need to generate a CSV file? It can't be UTF-8. It has to be one of the localized encodings. There is no javascript way to know what is a default locale on the windows client. You may assume it based on your major audience location, (still wrong assumption). ...

   more »
View Article  YAML bug with unpleasant side effect in ActiveRecord :serialize
Just demo
$ irb
irb(main):001:0> require 'yaml'
=> true
irb(main):002:0> YAML.load(YAML.dump("\n New Paragraph\nNew Line"))
ArgumentError: syntax error on line 3, ...
   more »
View Article  ActiveMerchant, PayPal, SuccessWithWarning and alias_method_chain
ActiveMerchant Paypal gateway doesn't like 'SuccessWithWarning' from Paypal. How to handle it and save your face (or your website face)   more »
View Article  Unobtrusive way to retry curl/curb based screen scraping function on Curl::Err::Error
Curl retry easy with alias_method_chain ...   more »
View Article  Ruby on rails debug shell script helper
Some time you need a debugger with ability to  step-by-step execution,
inspection and evaluation, not just watch. I use small shell script to achieve this

#!/bin/sh
mongrel-cluster stop
sleep 5
cd $ROR_HOME
/usr/bin/xterm -e "rdebug -n -- ./script/server -p 4001" &
/usr/bin/xterm -e "rdebug -n -- ./script/server -p 4002" &
/usr/bin/xterm -e "rdebug -n -- ./script/server -p 4003" &

The server will stop execution right at the line debugger if defined? Debugger


View Article  Safari "upload file" with 'unknown' content-type and Rails
I don't know how Safari identifies a content-type for the file before it uploaded (extension or magic bit). But when it failed to identify it - nothing is passed to server Example upload CSV file from Safari on Windows ...   more »
View Article  UTF-8, vCard and Ruby or how to alias class method

I need to parse uploaded vCard (vcf) file for one of the project, I am
working on. There is not that many libraries for Ruby around there.
Well, actually there is only one - vpim

Everything was working just fine with test files I found on the Internet,
until I hit the wall with vcf from Apple Address book. Few surprises:
accent characters or non US ASCII in general plus EMAIL and TEL
without a value ...

   more »
View Article  Simple way to get around ticket 3096

You need to render partial with a collection of hashes (or kind_of?). Probably you control the code, which generate the collection

...   more »
View Article  Magic of alias_method_chain - Part 1

Imagine, you have created a great module/class for rails interacting with 3rd party service provider over TCP/IP or you build a ruby extension to one of the libraries, where work with IO is done outside of the ruby itself. While you was building it you didn't pay a lot of attention to handling timeouts, network latency, IO blocks or you name it.

...   more »
View Article  auto_scope plugin for rails has_many with_scope
auto_scope plugin for rails has_many with_scope   more »
View Article  Ruby on Rails migration on empty DB with renaming/adding/removing columns in the middle
if you do rename_column/add/remove in your migration, don't forget to call reset_column_information in the changed class. Otherwise you may have a problem with running migration on an empty DB if you pre-seed data in the migration after change ...   more »