DataMapper, an Object Relational Mapper (ORM) for Ruby, arrived at a milestone recently reaching 1.0 status. The release, announced during RailsConf 2010, and coinciding with Dirkjan Bussink's presentation at the conference on the subject.
Managing SQL-based scripts can become a nightmare with time. Rails solved this with ActiveRecord Migration. Sam Livingston-Gray wrote a small standalone Ruby tool to generate hierarchical migration script. Based on the fact that SQL scripts can become very verbose and duplication-prone, Sam started SQrbL which is a mix of SQL and Ruby.
While JRuby on Rails doesn't have ActiveRecord, DataMapper, an ORM often used with Merb, has gained a new adapter for Google App Engine's DataStore. Also: work on Reggae, automatic tooling for deploying Rack apps on GAE is under way.
Sequel, apart from being an alternative to ActiveRecord, offers a complete Ruby toolkit to handle database operations. InfoQ had the chance to catch up with Jeremy Evans who replaced Sharon Rosner as project leader eight months ago.
In this databases roundup we take a look at DataFabric, FiveRun's recently open sourced data sharding plug-in for ActiveRecord. Also: a look at speeding up Postgres data access using the asynchronous client API and Ruby 1.9's Fibers.
This presentation by Hamilton Verissimo and Oren Eini show Castle Active Record - an ORM solution for .NET building on NHibernate. After an introduction, the presentation dives into various advanced topics and techniques for working with Castle Active Record.
In this presentation from QCon San Francisco 2007, JRuby project lead Charles Nutter discusses the Ruby and JRuby featureset, the JRuby compiler, calling Java from JRuby and vice versa, programming Swing with JRuby, JRuby web applications, JRuby on Rails, persistence, build automation, Test-Driven Development and Behaviour-Driven Development.
There is a widespread opinion that a good DSL has to be English-like. Dave Thomas advocates against such approach asserting that DSL are not about getting as close as possible to natural languages and that having this as a guiding principle of DSL design can be rather detrimental. He also highlights what he believes is important in DSL design and provides some examples of successful DSL.
JRuby project lead Charles Nutter discusses how he got involved with JRuby, Sun's involvement with JRuby, how JRuby fits into enterprise-level web applications, the possibility of a friendly fork of the OpenJDK source code, reasons for switching to JRuby, the future of JRuby, Spring and JRuby, and the Ruby community as a whole.
Bob Martin believes that Active Record pattern that maps data structures to objects may be a source of confusion. Even though it appears to be an object, it actually is a data structure, vulnerable to the addition of new types. To preserve the flexibility, Bob Martin suggests separating Active Record from the application, so that the latter can be designed and structured solely around objects.
Rob Conery from the SubSonic project recently introduced migrations, which allow .NET developers to create database schema using code, much like the way Ruby on Rails provides database schema management in code.
The ActiveHibernate project brings Hibernate features to JRuby - for those tricky ORM use cases that go beyond what ActiveRecord offers. We talked to project maintainer Johan Andries.
JRuby 1.0 has been released. The release marks 9 months since commiters Charles Nutter and Thomas Enebo were hired by Sun. The release is being termed as "Ruby compatible" with all known JRuby bugs causing incompatibilities with Matz's Ruby (MRI) resolved.
Just over a week's gone by and the community is still buzzing with the Rails scalability debate. Developers are asking the defining question: does Web 2.0 darling Twitter.com prove Rails can't scale? James Cox gives InfoQ readers a comprehensive summary.
InfoQ catches up with the latest exciting developments out of the JRuby camp as they gear up for a big 1.0 release in time for JavaOne. Includes an exclusive interview with red-hot JRuby team member Ola Bini.