Slashdot Mirror


Rails 2.1 Is Now Available

slick50 writes "Rails 2.1 is now available for general consumption with all the features and fixes we've been putting in over the last six months since 2.0. We've had 1,400 contributors creating patches and vetting them. This has resulted in 1,600+ patches. And lots of that has made it into this release. The new major features are: time zones (by Geoff Buesing), dirty tracking, Gem dependencies, named scope (by Nick Kallen), UTC-based migrations, and better caching. As always, you can install with: gem install rails Or you can use the Git tag for 2.1.0."

11 of 71 comments (clear)

  1. Re:Internationalization by Vectronic · · Score: 4, Informative

    No experience, and this may not be what you are talking about, but...

    Time Zones in Rails 2.1
    http://railscasts.com/episodes/106

    By 'i18n' you might be refering to Localization (languages, etc) though.

    If you are bored, start at the beginning...

    http://railscasts.com/episodes/1
    and keep stepping through to Episode 111. (some are older, some are new to 2.1)

    Movies are all in MOV format, optionally in M4V.

  2. Screencasts of New Features by remitaylor · · Score: 2, Informative

    You can see howto use some of the new features at http://railscasts.com/

    Gem dependencies are awesome. RubyGems has been growing into a sweet package manager / deployment option and being able to easily handle gem dependencies is long overdue.

    Psyched for Rails 2.1 :)

  3. Re:Internationalization by slick50 · · Score: 2, Informative
    One project you can check out for this is GlobaLite

    GlobaLite is meant to be a breed of the best i18n /l10n plugins available for Rails.

  4. Wt by paugq · · Score: 5, Informative

    I used to use Rails until I discovered Wt: C++, Qt-like API, you develop webapps with widgets (as if they were a desktop application, no more "templates" or "pages") and you don't need to write a single line of HTML, CSS or Javascript. You can deploy it as a FastCGI module for Apache, Lighttp, etc, or as a standalone application with its own webserver. It supports very heavy loads, more than Rails or Django will ever be able to deal with. And you can link to a myriad of existing C and C++ libraries.

    Do you want to authenticate your users using Active Directory? Use Samba and link to libwinbind if on Unix, or link to the Windows API if on Windows (yes, it's cross-platform!). No more worries about language bindings.

  5. I love Ruby and Rails, don't get me wrong... by patio11 · · Score: 5, Informative

    ... but I burned about 16 hours of company time last week trying to do the following:

    1) Have a .rb script written in UTF-8, with Japanese in it.
    2) Read in a files written in a mix of UTF-8 and SJIS (a legacy Japanese encoding which is quite common here)
    3) Do some really freaking simple text munging.
    4) Write out to a new file in SJIS, for exporting to another system

    Sixteen. Freaking. Hours.

    Among the numerous issues I learned the hard way (previously all of my Rails experience had been in the mystical wonderland of ASCII and all of my i18n experience had been in Java, so I had never seen problems like this before):

    1) Running regexps on strings. I naiively assumed that you could actually, you know, do it. As it turns out, you have to first convert the encoding of the regexp and the encoding of the string such that they match, otherwise you get program killing errors. This was sort of a newbie mistake -- I figured that Ruby, with its "keep it easy" credo, would do things fairly transparently like Java does. Instead, I have to manually identify all entrance points of text into the system, and do the encoding to UTF-8 internally there, then do the encoding to the target encoding at all the output points. As you can imagine, this isn't the world's most maintainable solution, since all it takes is one other member of my team to refactor a file and forget to include the magic encoding comment at the top (thus letting encoding fall to the system default) and then we've got little SJIS gremlins running around internally wreaking havoc with our data.

    2) Try opening a file for writing as SJIS in a script written in UTF-8

    output_file = File.open("sample.txt", "w:SJIS") #this is Ruby 1.9
    output_file.puts Date.today.year # 2009
    output_file.close

    You'll get an error saying that you can't transcode between ASCII-8BIT (what the 2009 starts as, after it gets munged into a string) and SJIS, which you've declared as the file encoding. Never mind that a) the transcoding is bitwise identical in this case and b) yes, you freaking machine, I damn well CAN transcode between those two because if I can't then Japan is "#$"#ed.

    3) Documentation. One of my favorite hobbyhorses with Rails, and I love that framework, is that documentation is sparse, outdated, and disorganized. Ruby 1.9 deals with the issue of sparse, outdated, and disorganized documentation by dispensing with it entirely, for minor features like Unicode support, which was theoretically the major advance. (Its possible I merely missed the documentation because my Japanese Google-fu is insufficient, but I really feel for those saps out there who need to support languages which aren't Japanese.)

    About the only helpful things I found were blog posts and mailing list archives which detailed the somewhat idiosyncratic relationship between

    a) the magic comment
    b) the -K and -E command line parameters
    c) the system default encoding

    in determining what encoding strings actually end up as. I have still not been able to re-find where I learned about the File.open(filename, "w:SJIS") syntax. There does not appear to be any comprehensive official list of changes. Rather, the best I was able to do was a blog post featuring (I kid you not) the results of one guy grep'ping changelogs looking for things that looked related to 1.9 and collecting them in one place.

    Oh boy, was Friday frustrating. And I get to do it again today. Fun stuff.

    1. Re:I love Ruby and Rails, don't get me wrong... by JanneM · · Score: 5, Informative

      Java and Python only solved that problem in the sense that "we support only Unicode". Which kind of sucks for Japanese, since Unicode is actually somewhat broken for the language (not all needed characters are actually defined). And even if you use Unicode, dealing with Japanese does mean dealing with and generating both ISO-2022 and Shift-JS documents on a regular basis.

      --
      Trust the Computer. The Computer is your friend.
    2. Re:I love Ruby and Rails, don't get me wrong... by JanneM · · Score: 4, Informative

      Ruby 1.9 supports unicode just fine. In addition, it supports the needed Japanese encodings, which Java and Python does not do well.

      --
      Trust the Computer. The Computer is your friend.
    3. Re:I love Ruby and Rails, don't get me wrong... by Anonymous Coward · · Score: 2, Informative

      "Ruby 1.9 supports unicode just fine"

      Just having unicode strings is not enough to "support unicode". Can I sort a list of strings written in french with the built-in unicode libs in Ruby 1.9 ? no, they won't be sorted correctly. Can I do it with Java out of the box ? yes.

      http://java.sun.com/docs/books/tutorial/i18n/text/locale.html

      The built in arrays sort in Java can take a collator and know how to sort an array of string in languages other than ASCII english.

      Ruby 1.9 support for unicode is minimal. It just allow you to use unicode but it has absolutely nothing to let you to actually use foreign languages with sorting, capitalization and so on.

  6. Once again - The Alternatives: by Qbertino · · Score: 4, Informative

    CakePHP Framework (supports PHP5 & PHP4), Version 1.2 Stable due any time soon.
    Symfony. PHP 5 Meta Framework using Propel and other layer components. The accompaning book (free PDF, buyable dead-tree) is a very good documentation.
    Prado. Event-Oriented PHP 5 Framework. Very interesting.
    Code Igniter. Lightweight PHP Framework for smaller stuff. Neat website.

    Django. Python Framework.
    TurboGears. Python Meta Framework using some 3rd Party stuff like Templating layers and such.
    Zope Web Application Server. To date unmatched. What Rails wants to be when it grows up.

    --
    We suffer more in our imagination than in reality. - Seneca
  7. Re:Documentation Sucks by Anonymous Coward · · Score: 1, Informative

    http://www.ruby-doc.org/

    http://api.rubyonrails.org/

    or if you like to kill trees, you can buy the following (or buy their PDFs)

    http://pragprog.com/titles/ruby/programming-ruby

    http://pragprog.com/titles/rails3/agile-web-development-with-rails-third-edition

    Also, it's trivial to build local documentation for your installation.

    It seems like there is plenty of documentation available and that the APIs are well and publicly documented outside the source code.

    It seems to me that you're simply more accustomed to perl, and secondly that you're a fucking idiotic twat.

  8. Re:Documentation Sucks by RegularFry · · Score: 2, Informative

    Yes, you do. At least, if you installed the usual way. Run "gem server" from the command line, and go to http://localhost:8808 in your preferred browser. The layout's different (slightly), but the info's there.

    --
    Reality is the ultimate Rorschach.