[ANN] Rails 0.9: Fast development, breakpoints, validations...

  • Thread starter David Heinemeier Hansson
  • Start date
D

David Heinemeier Hansson

Another huge upgrade with again close to 100 changes, additions, and
tweaks. Most importantly are the new faster development environment
that caches the framework and lets the application reload under both
WEBrick and Fast CGI. Major is also the new breakpoints that allows you
to inspect an application during execution, change the model, and
resume. Additionally, we got a whole new way to do validations that
extends the domain language of Rails with a wide range of new words.

The changelogs are so long I thought I'd just link to them this time:

* Rails 0.9.0: http://api.rubyonrails.org/files/CHANGELOG.html
* Action Pack 1.0.0: http://ap.rubyonrails.org/files/CHANGELOG.html
* Active Record 1.2.0: http://ar.rubyonrails.org/files/CHANGELOG.html
* Action Mailer 0.5.0: http://am.rubyonrails.org/files/CHANGELOG.html

But more importantly:

* Learn how to upgrade from 0.8.5 to 0.9.0:
http://rails.hieraki.org/read/book/3
* ...or check the book about 0.9 features:
http://rails.hieraki.org/read/book/2

This massive release would never have been possible without the killer
community hanging out at #rubyonrails. Known by such handles as
noradio, xal, flgr, htonl, bitsweat, and many, many more, they really
showed what a dedicated group of programmers are capable of. I'm deeply
honored to be amongst such wonderful people. Thanks, guys!

As also, the easiest way to upgrade the software is: "gem update"
--
David Heinemeier Hansson,
http://www.basecamphq.com/ -- Web-based Project Management
http://www.rubyonrails.org/ -- Web-application framework for Ruby
http://macromates.com/ -- TextMate: Code and markup editor (OS X)
http://www.loudthinking.com/ -- Broadcasting Brain
 
J

James Britt

David said:
...
As also, the easiest way to upgrade the software is: "gem update"


Running gem update will update *all* installed gems.

If any gem (not just a rails gem) has an API change, then you'll have to
go change your code to either use the new API or to request a specific
gem version. Probably better to update gems on purpose, when you have
some idea what to expect, rather than doing a bulk update on every gem
just to get a few specific items.

Running
gem install rails

should update all rails-related gems without affecting any other gems,
which is a safer, more responsible, suggestion on how to upgrade rails.



Thanks,


James
 
D

David A. Black

Hi --

Running gem update will update *all* installed gems.

If any gem (not just a rails gem) has an API change, then you'll have to go
change your code to either use the new API or to request a specific gem
version. Probably better to update gems on purpose, when you have some idea
what to expect, rather than doing a bulk update on every gem just to get a
few specific items.

Running
gem install rails

should update all rails-related gems without affecting any other gems, which
is a safer, more responsible, suggestion on how to upgrade rails.

I believe David meant it as in: "Use the 'gem update' command (which
in this case, since you're updating Rails, would take the argument
'rails')", just as one might say, "Use the 'ruby' command to run a
Ruby script".

It's true wording of this kind is slightly ambiguous, but that's all.
It's not the first time something has had to be clarified a bit. I'd
like to nip in the bud the implication that David was trying to steer
people toward updating all their gems at once, which he wasn't and
which attributes to him either ignorance of gems or some kind of
bizarre pranksterism -- wrongly, in either case.


David
 
J

James Britt

David said:
Hi --




I believe David meant it as in: "Use the 'gem update' command (which
in this case, since you're updating Rails, would take the argument
'rails')", just as one might say, "Use the 'ruby' command to run a
Ruby script".

Well, even if that is the intention, it is not the behavior.

gem update foo

updates every gem, not just foo.
It's true wording of this kind is slightly ambiguous, but that's all.
It's not the first time something has had to be clarified a bit. I'd
like to nip in the bud the implication that David was trying to steer
people toward updating all their gems at once, which he wasn't and
which attributes to him either ignorance of gems or some kind of
bizarre pranksterism -- wrongly, in either case.

I don't think David was advocating one update all gems, but that is the
end result, and it has been pointed out here before.

I've also mentioned it to Jim W., as I was caught off-guard by this on a
previous rails update. I suggested that either 'update foo' should
should update only foo, or at least warn that it will update all gems.


To check this, I just ran

c:\>gem install rubygems
Attempting local installation of 'rubygems'
Local gem file not found: rubygems*.gem
Attempting remote installation of 'rubygems'
Updating Gem source index for: http://gems.rubyforge.org
Successfully installed rubygems-update, version 0.8.3
Installing RDoc documentation for rubygems-update-0.8.3...
WARNING: Generating RDoc on .gem that may not have RDoc.

(But note:
c:\>gem -v
0.8.1
)


I then ran
gem update rake

and rubygems proceeded to try to update all my gems. (Ironically, it
choked and died trying to update the rails actionmailer gem.)

c:\>gem update rake
Upgrading installed gems...
Attempting remote upgrade of actionmailer
Attempting remote installation of 'actionmailer'
ERROR: While executing gem ... (NoMethodError)
undefined method `serialize' for
CGI::Session::ActiveRecordStore::Session:Class



Thanks,


James
 
D

David A. Black

Hi --

Well, even if that is the intention, it is not the behavior.

gem update foo

updates every gem, not just foo.

Whoops -- I didn't know that. In spite of my mediocre track record on
reading David H.'s mind, I'll go out on a limb and speculate that he
didn't know it either :) Thanks for the clarification. I hereby
withdraw the overreactive parts of my earlier post. I've also chatted
with Jim W. and it does sound indeed like this silent discarding of
arguments to 'update' will disappear in the next release.


David
 
H

Hal Fulton

David said:
It's not the first time something has had to be clarified a bit. I'd
like to nip in the bud the implication that David was trying to steer
people toward updating all their gems at once, which he wasn't and
which attributes to him either ignorance of gems or some kind of
bizarre pranksterism -- wrongly, in either case.

What, you're claiming DHH isn't a bizarre prankster? I submit that
Rails is only a global prank to hypnotize web developers -- one that
is so far succeeding. Only reason I haven't succumbed myself is that
I am not much of a web developer... but I can sense that I too will
fall under its spell someday soon.


Hal
 
E

Eric Hodel

--Apple-Mail-5-445436200
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset=US-ASCII; format=flowed

The gem install gives a couple of new warnings aboud not finding
Continuation and Binding (and some familair "Skilling require of
dynamic
strings" warnings). Should I just ignore these?

These probably come from RDoc, so you can ignore them.

Continutation is a builtin class.
lib/binding_of_caller.rb:36:21: Couldn't find Binding. Assuming it's a
module

Binding is a builtin class.
lib/rails_generator.rb:34:46: Skipping require of dynamic string:
"#{path}/#{name}_generator.rb"
Installing RDoc documentation for activerecord-1.2.0...
Installing RDoc documentation for actionpack-1.0.1...

You can ignore this one.
lib/action_controller/scaffolding.rb:87:37: Skipping require of dynamic
string: "#{model_id.id2name}
"

And this.

--Apple-Mail-5-445436200
content-type: application/pgp-signature; x-mac-type=70674453;
name=PGP.sig
content-description: This is a digitally signed message part
content-disposition: inline; filename=PGP.sig
content-transfer-encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Darwin)

iD8DBQFBwx+/MypVHHlsnwQRAoXIAKCQw9NnvPCUO+H6ZglbJ8eK+G9woQCcCsET
tciYAZB4PHCaOv+81lNL2i0=
=pnOB
-----END PGP SIGNATURE-----

--Apple-Mail-5-445436200--
 
D

David Heinemeier Hansson

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,774
Messages
2,569,598
Members
45,149
Latest member
Vinay Kumar Nevatia0
Top