¥È¥Ã¥× «Á°¤ÎÆüµ­(2007-02-23) ºÇ¿· ¼¡¤ÎÆüµ­(2007-02-25)» ÊÔ½¸

3 ÆüË·¼çÆüµ­


2007-02-24 rails for ruby 1.9 [ĹǯÆüµ­]

_ [Ruby][Rails] rails for ruby 1.9 »Ï¤á¤Þ¤¹

¥Ù¡¼¥¹¥é¥¤¥ó¤ÎÌܽ褬¤¿¤Ã¤¿¤Î¤Ç½ê¿®É½ÌÀ¡£

_ ÌÜɸ

¤³¤Î¥×¥í¥¸¥§¥¯¥È¤Ï Ruby on Rails ¤ò Ruby 1.9 ¤ËÂбþ¤µ¤»¤ë¤³¤È¤òÌÜɸ¤È¤·¤Þ¤¹¡£

_ ¥½¡¼¥¹¥³¡¼¥É

Ruby 1.9 trunk ¤ò¸µ¤Ë¤·¤Þ¤¹¡£

Ruby on Rails 1.2 (1-2-stable branch) ¤ò¸µ¤Ë¤·¤Þ¤¹¡£

Ruby on Rails ¤Î¥³¥¢¤ò·ÁÀ®¤¹¤ë°Ê²¼¤Î¥é¥¤¥Ö¥é¥ê¤òÍ¥ÀèŪ¤Ë¼è¤ê°·¤¤¤Þ¤¹¡£

  • activesupport
  • actionpack
  • activerecord

_ ´ØÏ¢¥é¥¤¥Ö¥é¥ê

Ruby on Rails ¤Î³«È¯¤ËɬÍפʥ饤¥Ö¥é¥ê¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£

  • rake
  • rubygems
  • sqlite-ruby (activerecord ¤Î¥Æ¥¹¥È¤Ï sqlite3 ¤Ç¹Ô¤¦)
  • flexmock

Ruby on Rails ¤òư¤«¤¹¤¿¤á¤ËɬÍפʥ饤¥Ö¥é¥ê¤¬ Ruby 1.9 ¤ËÂбþ¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢ Ruby 1.9 ¤ËÂбþ¤¹¤ë¤¿¤á¤Î¥Ñ¥Ã¥Á¤òºî¤ê¤Þ¤¹¡£

Ruby ɸ½à¥é¥¤¥Ö¥é¥ê

  • cgi,rb
  • optparse.rb

³°Éô¥é¥¤¥Ö¥é¥ê

  • rake
  • rubygems
  • sqlite-ruby

_ ³«È¯¥×¥é¥Ã¥È¥Õ¥©¡¼¥à

Linux (Fedora 5) (i686-linux), MS-Windows XP Pro (mingw32).

_ ¥Æ¥¹¥È

Ruby on Rails ¤ËÈ÷¤ï¤Ã¤Æ¤¤¤ë¥æ¥Ë¥Ã¥È¥Æ¥¹¥È¤ò»È¤Ã¤Æ Ruby 1.9 Âбþ¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£

¥Æ¥¹¥È¥³¡¼¥É¤¬ Ruby 1.9 ¤ËÂбþ¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢½¤Àµ¤·¤Þ¤¹¡£

_ ¸ø³«

¥½¡¼¥¹¥³¡¼¥É¤Ï subversion ¤Ç¸ø³«¤·¤Þ¤¹¡£

_ ¿ÊĽ

¿ÊĽ¤Ï rake test ¤Î·ë²Ì¤ò½ÐÎϤ¹¤ë¤³¤È¤ÇÇİ®¤·¤Þ¤¹¡£

autobuild ¤òÍѰդ·¤¿¤¤¡£

_ [Ruby] sqlite3-ruby

sqlite3-ruby ¤Î CVS HEAD ¤ò mingw ¤Ç»î¤¹¡£

# fix.rb:
while line = gets
  line.gsub!(/RSTRING\((.+?)\)->ptr\b/, 'RSTRING_PTR(\1)')
  line.gsub!(/RSTRING\((.+?)\)->len\b/, 'RSTRING_LEN(\1)')
  line.gsub!(/\bBLOB\b/, 'SQLITE3_BLOB')
  print line
end

¤¿¤Ö¤ó SWIG ¦¤òľ¤¹¤Ù¤­¤Ê¤Î¤À¤í¤¦¤±¤É¤È¤ê¤¢¤¨¤º¡£ (SWIG ¤â CVS HEAD ¤«¤éºî¤Ã¤¿)¡£

BLOB ¤Ï wtypes.h ¤Î¤È¤«¤Ö¤ë¤Î¤Ç̾Á°Êѹ¹¡£

lib/sqlite3/driver/dl/api.rb ¤Ç dl/import ¤ò»È¤Ã¤Æ¤ë¤ó¤À¤±¤É

Index: lib/sqlite3/driver/dl/api.rb
===================================================================
--- lib/sqlite3/driver/dl/api.rb        (revision 9188)
+++ lib/sqlite3/driver/dl/api.rb        (working copy)
@@ -35,7 +35,7 @@
 module SQLite3 ; module Driver; module DL;

   module API
-    extend ::DL::Importable
+    extend ::DL::Importer

     library_name = case RUBY_PLATFORM.downcase
       when /darwin/

dl/import ¤Ï mingw ¤Ç¤â»È¤¨¤Þ¤¹¤«¡©

# lib/sqlite3/driver/dl/api.rb:
require 'dl/import'

module SQLite3 ; module Driver; module DL;

  module API
    extend ::DL::Importer

    library_name = case RUBY_PLATFORM.downcase
      when /darwin/
        "libsqlite3.dylib"
      when /linux/
        "libsqlite3.so"
      when /win32/
        "sqlite3.dll"
      else
        abort <<-EOF
== * UNSUPPORTED PLATFORM ======================================================
The platform '#{RUBY_PLATFORM}' is unsupported. Please help the author by
editing the following file to allow your sqlite3 library to be found, and
submitting a patch to jamis_buck@byu.edu. Thanks!

#{__FILE__}
=========================================================================== * ==
        EOF
    end

_ [Ruby] rubygems: gzip error installing sources-0.0.1.gem

rubygems ¤òÆþ¤ì¤è¤¦¤È¤¹¤ë¤È post-install.rb ¤Ç¤Ò¤Ã¤«¤«¤ë¡£

[moriq@can rubygems]$ echo $GEM_HOME
/home/moriq/c
[moriq@can rubygems]$ ~/c/bin/ruby ./post-install.rb
  Successfully built RubyGem
  Name: sources
  Version: 0.0.1
  File: sources-0.0.1.gem
/home/moriq/c/lib/ruby/site_ruby/1.9/rubygems/installer.rb:111:in `raise': gzip error installing sources-0.0.1.gem (Gem::InstallError)
        from /home/moriq/c/lib/ruby/site_ruby/1.9/rubygems/installer.rb:111:in `rescue in install'
        from /home/moriq/c/lib/ruby/site_ruby/1.9/rubygems/installer.rb:64:in `install'
        from ./post-install.rb:88:in `block in install_sources'
        from ./post-install.rb:84:in `chdir'
        from ./post-install.rb:84:in `install_sources'
        from ./post-install.rb:116:in `<main>'

¤Ç¤â pkgs/sources/sources-0.0.1.gem ¤Ï¼êư¤Ç install ¤Ç¤­¤ë¡£

[moriq@can rubygems]$ ~/c/bin/gem install pkgs/sources/sources-0.0.1.gem
Successfully installed sources, version 0.0.1
[moriq@can rubygems]$ ls ~/c/
bin  cache  doc  gems  lib  man  share  specifications

Ææ¤¤¡£

svn st ¤Ç pkgs/* ¤¬¸«¤¨¤Ê¤¤¤Î¤Ï svn:ignore ¤·¤Æ¤ë¤«¤é¡£

[]