Installing Ruby and Rails on Mac OS X using Locomotive
- Download Locomotive from http://locomotive.raaum.org/
- Install it by copying the Locomotive folder into a suitable directory such as Applications
- Launch Locomotive
- Create a new Ruby Application (Applications menu, Create New ). Give it a suitable name (e.g., test-2006-08-24 ), and save it anywhere you like (e.g., ~ Documents )).
- Use Locomotive to start the Terminal application with the necessary environment (Applications menu, Open Terminal ... or keyboard shortcut cmd-T )
- Download the Rails ODBC Adapter from Ruby Forge, and extract its contents to a directory of your choice (StuffIt? Expander.app can do it in the GUI, or you can use command-line tar -xzvf on the tarball)
- In the Terminal window opened by Locomotive (which will show as its first command, executed automatically, something like source /private/var/tmp/folders.501/TemporaryItems/ED2408B8-339A-11DB-AE62-001124D394FC-29652-0000040EDCF98DEE.environment.bash ), navigate to the extracted Rails ODBC Adapter directory, and execute the command:
rake install
- When prompted about the installation location, answer i for install
- The Rails ODBC Adapter should now be configured and ready for use with Locomotive.
You should be able to use the help file provided to create a Rails Database application using the ODBC Adapter, by simply editing the standard database.yml file to point to a defined ODBC DSN:
development: adapter: odbc dsn: virtla username: rails password: rails test: adapter: odbc dsn: virtla username: rails password: rails production: adapter: odbc dsn: virtla username: rails password: rails
Sample installation process
vpn187:~/Desktop hughwilliams$ tar xvpfz rails-odbc-1.0.tgz rails-odbc-1.0/ rails-odbc-1.0/AUTHORS rails-odbc-1.0/ChangeLog rails-odbc-1.0/COPYING rails-odbc-1.0/doc/ rails-odbc-1.0/doc/classes/ rails-odbc-1.0/doc/classes/ActiveRecord/ rails-odbc-1.0/doc/classes/ActiveRecord/ConnectionAdapters/ rails-odbc-1.0/doc/classes/ActiveRecord/ConnectionAdapters/ODBCAdapter.html rails-odbc-1.0/doc/created.rid rails-odbc-1.0/doc/files/ rails-odbc-1.0/doc/files/COPYING.html rails-odbc-1.0/doc/files/lib/ rails-odbc-1.0/doc/files/lib/connection_adapters/ rails-odbc-1.0/doc/files/lib/connection_adapters/odbc_adapter_rb.html rails-odbc-1.0/doc/files/README.html rails-odbc-1.0/doc/fr_class_index.html rails-odbc-1.0/doc/fr_file_index.html rails-odbc-1.0/doc/fr_method_index.html rails-odbc-1.0/doc/index.html rails-odbc-1.0/doc/rdoc-style.css rails-odbc-1.0/install_odbc.rb rails-odbc-1.0/lib/ rails-odbc-1.0/lib/connection_adapters/ rails-odbc-1.0/lib/connection_adapters/odbc_adapter.rb rails-odbc-1.0/lib/vendor/ rails-odbc-1.0/lib/vendor/odbcext_informix.rb rails-odbc-1.0/lib/vendor/odbcext_informix_col.rb rails-odbc-1.0/lib/vendor/odbcext_ingres.rb rails-odbc-1.0/lib/vendor/odbcext_microsoftsqlserver.rb rails-odbc-1.0/lib/vendor/odbcext_microsoftsqlserver_col.rb rails-odbc-1.0/lib/vendor/odbcext_mysql.rb rails-odbc-1.0/lib/vendor/odbcext_oracle.rb rails-odbc-1.0/lib/vendor/odbcext_postgresql.rb rails-odbc-1.0/lib/vendor/odbcext_virtuoso.rb rails-odbc-1.0/LICENSE rails-odbc-1.0/NEWS rails-odbc-1.0/Rakefile rails-odbc-1.0/README rails-odbc-1.0/support/ rails-odbc-1.0/support/lib/ rails-odbc-1.0/support/lib/active_record/ rails-odbc-1.0/support/lib/active_record/connection_adapters/ rails-odbc-1.0/support/lib/active_record/connection_adapters/abstract/ rails-odbc-1.0/support/lib/active_record/connection_adapters/abstract/schema_definitions.rb rails-odbc-1.0/support/odbc_rails.diff rails-odbc-1.0/support/pack_odbc.rb rails-odbc-1.0/support/test/ rails-odbc-1.0/support/test/base_test.rb rails-odbc-1.0/support/test/migration_test.rb rails-odbc-1.0/test/ rails-odbc-1.0/test/connections/ rails-odbc-1.0/test/connections/native_odbc/ rails-odbc-1.0/test/connections/native_odbc/connection.rb vpn187:~/Desktop hughwilliams$ cd rails-odbc-1.0 vpn187:~/Desktop/rails-odbc-1.0 hughwilliams$ ls AUTHORS ChangeLog NEWS Rakefile install_odbc.rb support COPYING LICENSE README doc lib test vpn187:~/Desktop/rails-odbc-1.0 hughwilliams$ rake install (in /Users/hughwilliams/Desktop/rails-odbc-1.0) /usr/local/bin/ruby install_odbc.rb << Installation script for Rails ODBC Adapter >> Checking if Locomotive is installed Target ActiveRecord directory for install: [/Applications/Locomotive2/Bundles/rails112.locobundle/i386/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record] Enter c to change target ActiveRecord directory, q to quit, i to install i Copying ODBC Adapter files into the ActiveRecord tree. ------------------------------------------------------------ ./vendor/odbcext_virtuoso.rb -> /Applications/Locomotive2/Bundles/rails112.locobundle/i386/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/./vendor/odbcext_virtuoso.rb chmod 0644 /Applications/Locomotive2/Bundles/rails112.locobundle/i386/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/./vendor/odbcext_virtuoso.rb ./vendor/odbcext_postgresql.rb -> /Applications/Locomotive2/Bundles/rails112.locobundle/i386/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/./vendor/odbcext_postgresql.rb chmod 0644 /Applications/Locomotive2/Bundles/rails112.locobundle/i386/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/./vendor/odbcext_postgresql.rb ./vendor/odbcext_oracle.rb -> /Applications/Locomotive2/Bundles/rails112.locobundle/i386/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/./vendor/odbcext_oracle.rb chmod 0644 /Applications/Locomotive2/Bundles/rails112.locobundle/i386/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/./vendor/odbcext_oracle.rb ./vendor/odbcext_mysql.rb -> /Applications/Locomotive2/Bundles/rails112.locobundle/i386/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/./vendor/odbcext_mysql.rb chmod 0644 /Applications/Locomotive2/Bundles/rails112.locobundle/i386/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/./vendor/odbcext_mysql.rb ./vendor/odbcext_microsoftsqlserver_col.rb -> /Applications/Locomotive2/Bundles/rails112.locobundle/i386/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/./vendor/odbcext_microsoftsqlserver_col.rb chmod 0644 /Applications/Locomotive2/Bundles/rails112.locobundle/i386/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/./vendor/odbcext_microsoftsqlserver_col.rb ./vendor/odbcext_microsoftsqlserver.rb -> /Applications/Locomotive2/Bundles/rails112.locobundle/i386/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/./vendor/odbcext_microsoftsqlserver.rb chmod 0644 /Applications/Locomotive2/Bundles/rails112.locobundle/i386/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/./vendor/odbcext_microsoftsqlserver.rb ./vendor/odbcext_ingres.rb -> /Applications/Locomotive2/Bundles/rails112.locobundle/i386/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/./vendor/odbcext_ingres.rb chmod 0644 /Applications/Locomotive2/Bundles/rails112.locobundle/i386/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/./vendor/odbcext_ingres.rb ./vendor/odbcext_informix_col.rb -> /Applications/Locomotive2/Bundles/rails112.locobundle/i386/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/./vendor/odbcext_informix_col.rb chmod 0644 /Applications/Locomotive2/Bundles/rails112.locobundle/i386/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/./vendor/odbcext_informix_col.rb ./vendor/odbcext_informix.rb -> /Applications/Locomotive2/Bundles/rails112.locobundle/i386/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/./vendor/odbcext_informix.rb chmod 0644 /Applications/Locomotive2/Bundles/rails112.locobundle/i386/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/./vendor/odbcext_informix.rb ./connection_adapters/odbc_adapter.rb -> /Applications/Locomotive2/Bundles/rails112.locobundle/i386/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/./connection_adapters/odbc_adapter.rb chmod 0644 /Applications/Locomotive2/Bundles/rails112.locobundle/i386/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/./connection_adapters/odbc_adapter.rb ------------------------------------------------------------ Checking RAILS_CONNECTION_ADAPTERS (active_record.rb) includes odbc. Checking for Ruby ODBC Bridge. odbc.bundle found in /Applications/Locomotive2/Bundles/rails112.locobundle/i386/lib/ruby/site_ruby/1.8/i686-darwin8.6.1 Done. vpn187:~/Desktop/rails-odbc-1.0 hughwilliams$
If the Ruby ODBC Bridge is not installed in your Ruby installation then the following warning message will be displayed:
Checking for Ruby ODBC Bridge. WARNING>> odbc.bundle* is not present under: /Applications/Locomotive2 The Ruby ODBC Bridge must be installed before the Rails ODBC Adapter can be used. Done.