my current Work Stack

  • iOS Objective-C
  • Ruby
  • Mongo
  • Rails/Sinatra
  • jQuery
  • Capistrano
  • Passenger
  • Apache.Nginx
  • Heroku
  • Nodejs
last edited 02.10.2012

here's all my posts so far

02/10 Using the Facebook SDK in an IOS Static Library
04/11 Managing Development or Sometimes work gets in the way of work
12/21 Git Stash: For when your boss|clients|life priorities change
12/09 Picker Fields in Titanium
11/30 An Update on Raphael JS and Charts
10/08 How to make a Native App Form that doesn't suck with Titanium
09/23 Notification Subscriptions in Gowalla
09/21 Developing an API in Rails
08/26 I was promised Event Driven APIs and hoverboards. Where are my hoverboards?
08/14 A Node.js wrapper for Gowalla
08/09 Phusion Passenger Tweaking: Apache stuck in Sending(W)
06/28 HTML 5 is here and breaking old hacks we should have never done!
06/26 Simple PDFkit example in Rails 3
06/23 Raphael.serialize
06/12 Serializing RaphaelJS
06/11 Rails 3 beta4 destroyed my Tie Fighter
05/21 Rails 3 and Shoulda
05/13 Using yaml to configure default options for Paperclip
05/07 It's OK to not be pretentious
04/23 Snippet #1
04/21 I Need Closure
04/16 The Good and Bad of Github
04/08 Fun with Beards, or at least mine

here's some tweets I made

Rails 3 beta4 destroyed my Tie Fighter

UPDATE: Turns out it wasn't just Rails3 beta4 that shot down my tie fighter operator. It was the combination of it and Ruby 1.9.1. Switching to 1.9.2 or 1.8.7 work fine. So now I get to wait on Rails to release 3 and Ruby to release 1.9.2 before I feel comfortable deploying anything.

END UPDATE

Railsconf brought rails beta4. Yay! or not. I get this immediately:

undefined method `<=>' for class `ActiveSupport::Multibyte::Chars'

My Tie Fighter Operator! No!

Here's the culprit in active_support/multibyte/chars.rb :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
if RUBY_VERSION >= "1.9"
        # Creates a new Chars instance by wrapping _string_.
        def initialize(string)
          @wrapped_string = string
          @wrapped_string.force_encoding(Encoding::UTF_8) unless @wrapped_string.frozen?
        end

        undef <=>
      else
        def initialize(string) #:nodoc:
          @wrapped_string = string
        end
      end

It looks like the undef-ing is acting as a method proxy to allow method_missing to pass the function on to String after setting the encoding to Utf-8. But it's not working.

I tracked the error down to calling value.mb_chars on a String and then it showed up again in another spot and I gave up.

I've got work to do after all. Back to rails3 beta3 for now.

blog comments powered by Disqus