[#345382] Nice algorithm for 'spreading' indexes across an array? — Max Williams <toastkid.williams@...>

Little ruby algorithm puzzle...

13 messages 2009/09/01

[#345407] how to convert string to binary and back in Ruby 1.9? — Joe <ziggurism@...>

I'm using Ruby 1.9.1-p243 on Mac OS X 10.5.8.

10 messages 2009/09/01

[#345437] clogger 0.0.4 - configurable request logging for Rack — Eric Wong <normalperson@...>

* http://clogger.rubyforge.org/

10 messages 2009/09/02
[#345439] Re: [ANN] clogger 0.0.4 - configurable request logging for Rack — Iñaki Baz Castillo <ibc@...> 2009/09/02

2009/9/2 Eric Wong <normalperson@yhbt.net>:

[#345446] rdoc — Oleg Puchinin <ruby_talk@...>

Hello !

17 messages 2009/09/02
[#346260] Ruby 1.9 rdoc never ends (Re: rdoc) — James Britt <james.britt@...> 2009/09/12

Oleg Puchinin wrote:

[#346267] Re: Ruby 1.9 rdoc never ends (Re: rdoc) — Ryan Davis <ryand-ruby@...> 2009/09/12

[#346276] Re: Ruby 1.9 rdoc never ends (Re: rdoc) — Roger Pack <rogerpack2005@...> 2009/09/12

Ryan Davis wrote:

[#345493] What licensing info is needed in code headers? — "Shot (Piotr Szotkowski)" <shot@...>

Disclaimer: I know that some of you live in jurisdictions that do not

10 messages 2009/09/02

[#345535] Simple New Ruby Programmer Problem with $stdin.gets — Mason Kelsey <masonkelsey@...>

I'm having difficulty getting any command to work to pick up input from a

14 messages 2009/09/02

[#345573] Type checking function parameters — Nick Green <cruzmail.ngreen@...>

More or less all my functions look something like

22 messages 2009/09/03
[#345593] Re: Type checking function parameters — Eleanor McHugh <eleanor@...> 2009/09/03

On 3 Sep 2009, at 05:04, Nick Green wrote:

[#345606] Re: Type checking function parameters — Paul Smith <paul@...> 2009/09/03

My first stab at some Ruby started like this too.

[#345667] Re: Type checking function parameters — Nick Green <cruzmail.ngreen@...> 2009/09/03

OK...

[#345676] Re: Type checking function parameters — Eleanor McHugh <eleanor@...> 2009/09/04

On 3 Sep 2009, at 23:47, Nick Green wrote:

[#345687] Re: Type checking function parameters — James Edward Gray II <james@...> 2009/09/04

On Sep 3, 2009, at 7:30 PM, Eleanor McHugh wrote:

[#345745] Re: Type checking function parameters — Eleanor McHugh <eleanor@...> 2009/09/04

On 4 Sep 2009, at 03:56, James Edward Gray II wrote:

[#345828] Re: Type checking function parameters — spiralofhope <spiralofhope@...> 2009/09/06

Along the lines of this thread..

[#345835] Re: Type checking function parameters — "David A. Black" <dblack@...> 2009/09/06

Hi --

[#345773] Rubyscript instead of javascript — Damjan Rems <d_rems@...>

30 messages 2009/09/05
[#345970] Re: Rubyscript instead of javascript — Jg W Mittag <JoergWMittag+Usenet@...> 2009/09/08

David Masover wrote:

[#345774] how to compare two object instances? is "m1.to_yaml.eql?(m2.to_yaml)" a good way? — Greg Hauptmann <greg.hauptmann.ruby@...>

Hi,

8 messages 2009/09/05

[#345848] i need to strip \n and nil — Bigmac Turdsplash <i8igmac@...>

im sending files back and forth form a client and a server using

16 messages 2009/09/06

[#345883] Executing system commands in threads under Ruby 1.8.6 — vhaerun vh <etaern@...>

I tried to write a script that makes use of external binaries. Each

17 messages 2009/09/07
[#345889] Re: Executing system commands in threads under Ruby 1.8.6 — Robert Klemme <shortcutter@...> 2009/09/07

2009/9/7 vhaerun vh <etaern@yahoo.com>:

[#345893] Re: Executing system commands in threads under Ruby 1.8.6 — vhaerun vh <etaern@...> 2009/09/07

Here's a link to the question I asked on SO:

[#345901] Re: Executing system commands in threads under Ruby 1.8.6 — Eleanor McHugh <eleanor@...> 2009/09/07

On 7 Sep 2009, at 09:55, vhaerun vh wrote:

[#345904] Re: Executing system commands in threads under Ruby 1.8.6 — Bertram Scharpf <lists@...> 2009/09/07

Hi,

[#345886] Ruby 1.9, Rubygems, and .gemspec warnings — Rob Sanheim <rsanheim@...>

Hi all

14 messages 2009/09/07

[#346018] Tutorial challenge program help — Chris Logan <t-logan3@...>

Hello all im really new to ruby as in a few days and getting into it. i

20 messages 2009/09/09
[#346023] Re: Tutorial challenge program help — 7stud -- <bbxx789_05ss@...> 2009/09/09

Chris Logan wrote:

[#346027] Re: Tutorial challenge program help — Chris Logan <t-logan3@...> 2009/09/09

7stud -- wrote:

[#346091] How Are Variables Kept Independent of Each Other Yet Pass Values? — Mason Kelsey <masonkelsey@...>

Somewhere in the several books I've been learning Ruby from there was the

14 messages 2009/09/10
[#346096] Re: How Are Variables Kept Independent of Each Other Yet Pass Values? — venkatesh Peddi <venkat.peddi@...> 2009/09/10

[#346099] Re: How Are Variables Kept Independent of Each Other Yet Pass Values? — Yossef Mendelssohn <ymendel@...> 2009/09/10

On Sep 9, 10:50=A0pm, venkatesh Peddi <venkat.pe...@hotmail.com> wrote:

[#346106] Asynchronous http POST? — Ivan Shevanski <ocelot117@...>

Hey everyone, I'm new to Ruby and to the mailing list, so go easy.

14 messages 2009/09/10
[#346166] Re: Asynchronous http POST? — Ezra Zygmuntowicz <ezmobius@...> 2009/09/10

[#346193] populating a hash from an array using inject — Glenn Jackman <glennj@...>

I was looking at this problem on Stack Overflow (this one:

12 messages 2009/09/10

[#346324] module to overwrite method defined via define_method — Gaspard Bucher <gaspard@...>

Hi List !

17 messages 2009/09/13
[#346326] Re: module to overwrite method defined via define_method — "David A. Black" <dblack@...> 2009/09/13

Hi --

[#346328] Re: module to overwrite method defined via define_method — Gaspard Bucher <gaspard@...> 2009/09/13

David A. Black wrote:

[#346347] FasterCSV.foreach loop — Dot Baiki <dot_baiki@...>

Hello community,

16 messages 2009/09/13

[#346367] .map.with_object(3){|v|v+3} #=> 3 Is this a bug? — ErMaker <ermaker@...>

At ruby 1.9.2dev (2009-07-18 trunk 24186) [i386-mswin32_90]

15 messages 2009/09/14

[#346383] Pre-allocate large amount of memory? — Carsten Gehling <carsten@...>

I've created a small daemon, that serves certain data very fast to our

15 messages 2009/09/14
[#346404] Re: Pre-allocate large amount of memory? — Robert Klemme <shortcutter@...> 2009/09/14

2009/9/14 Carsten Gehling <carsten@sarum.dk>:

[#346419] whats the best way to package deploy a Ruby app to windows??? (no UI, also standalone if possible) — Greg Hauptmann <greg.hauptmann.ruby@...>

Hi,

8 messages 2009/09/14

[#346452] Command line — Rong <ron.green@...>

Please forgive this stupid newb question but I thought it was possible

13 messages 2009/09/15

[#346500] Array of Hashes in an array of hashes - Complicated! — Matt Brooks <mattbrooks@...>

I have an unique problem that I can't solve. I am sorry this is long,

17 messages 2009/09/15
[#346505] Re: Array of Hashes in an array of hashes - Complicated! — John W Higgins <wishdev@...> 2009/09/15

Morning Matt,

[#346508] Re: Array of Hashes in an array of hashes - Complicated! — Matt Brooks <mattbrooks@...> 2009/09/15

Hi John,

[#346510] Re: Array of Hashes in an array of hashes - Complicated! — John W Higgins <wishdev@...> 2009/09/15

Matt,

[#346515] Re: Array of Hashes in an array of hashes - Complicated! — Aldric Giacomoni <aldric@...> 2009/09/15

+1 on object creation

[#346574] string to array — Re BR <rereis@...>

Hello all,

15 messages 2009/09/16

[#346611] block issues... — Dylan Lukes <revenantphoenix@...>

In the following block, each plugin in the constant hash PLUGINS is

17 messages 2009/09/16

[#346621] Monkey Patching 2 Methods, Overrides One Method, Not The Other — MaggotChild <hsomob1999@...>

I'm monkey patching 2 methods of an existing module: some_method() and

18 messages 2009/09/17

[#346645] Mucking about with dynamically adding methods to objects — Paul Smith <paul@...>

I've been toying with Ruby for a while, but only now am I beginning to

12 messages 2009/09/17
[#346652] Re: Mucking about with dynamically adding methods to objects — Jes俍 Gabriel y Gal疣 <jgabrielygalan@...> 2009/09/17

On Thu, Sep 17, 2009 at 11:44 AM, Paul Smith <paul@pollyandpaul.co.uk> wrot=

[#346665] Re: Mucking about with dynamically adding methods to objects — Paul Smith <paul@...> 2009/09/17

2009/9/17 Jes=FAs Gabriel y Gal=E1n <jgabrielygalan@gmail.com>:

[#346676] Value isn't appended in puts statement(appears on next line) — Mrmaster Mrmaster <mrsolarlife@...>

Hello,

13 messages 2009/09/17
[#346678] Re: Value isn't appended in puts statement(appears on next line) — Jes俍 Gabriel y Gal疣 <jgabrielygalan@...> 2009/09/17

On Thu, Sep 17, 2009 at 8:51 PM, Mrmaster Mrmaster

[#346759] Newbie: Are Ruby regexp's a subset, superset, or equal to Perl's? — Harry <simonsharry@...>

Hi,

13 messages 2009/09/18

[#346774] Exceptional Rails Developer — Richard Price <richard.price100@...>

Hi all,

32 messages 2009/09/18
[#347451] Re: Exceptional Rails Developer — Ilan Berci <ilan.berci@...> 2009/09/30

Richard Price wrote:

[#347452] Re: Exceptional Rails Developer — Zundra Daniel <zundra.daniel@...> 2009/09/30

At least he didn't say "Rockstar" or "Ninja"

[#347476] Re: Exceptional Rails Developer — David Masover <ninja@...> 2009/09/30

On Wednesday 30 September 2009 01:45:27 pm Zundra Daniel wrote:

[#347477] Re: Exceptional Rails Developer — Greg Donald <gdonald@...> 2009/09/30

On Wed, Sep 30, 2009 at 6:44 PM, David Masover <ninja@slaphack.com> wrote:

[#347482] Re: Exceptional Rails Developer — David Masover <ninja@...> 2009/10/01

On Wednesday 30 September 2009 06:54:16 pm Greg Donald wrote:

[#347514] Re: Exceptional Rails Developer — Eleanor McHugh <eleanor@...> 2009/10/01

On 1 Oct 2009, at 01:32, David Masover wrote:

[#347551] Re: Exceptional Rails Developer — David Masover <ninja@...> 2009/10/01

On Thursday 01 October 2009 08:20:26 am Eleanor McHugh wrote:

[#347592] Re: Exceptional Rails Developer — Eleanor McHugh <eleanor@...> 2009/10/02

On 1 Oct 2009, at 19:15, David Masover wrote:

[#347596] Re: Exceptional Rails Developer — Aldric Giacomoni <aldric@...> 2009/10/02

[#346775] Determining if a file is binary or text — James Masters <james.d.masters@...>

Hi all,

15 messages 2009/09/18

[#346891] Incrementing variable names in a loop? — Matt Brooks <mattbrooks@...>

I have a function write_log that takes in a string and it prints to

10 messages 2009/09/21

[#347044] the great ruby editor and ide roundup — Martin DeMello <martindemello@...>

https://spreadsheets.google.com/ccc?key=0Al_hzYODcgxwdG9tUFhqcVVoUDVaLTlqT2YtNjV1N0E&hl=en

26 messages 2009/09/23
[#347045] Re: the great ruby editor and ide roundup — Rajinder Yadav <devguy.ca@...> 2009/09/23

On Wed, Sep 23, 2009 at 4:02 PM, Martin DeMello <martindemello@gmail.com> wrote:

[#347058] How do you limit the line length of the output commands? Where is pqueue library documented? — Mason Kelsey <masonkelsey@...>

There must be an easy way to solve the problem of controlling the length of

12 messages 2009/09/23

[#347156] Roulette & rand — Semih Ozkoseoglu <ozansemih@...>

Hi,

22 messages 2009/09/25
[#347161] Re: Roulette & rand — Stefano Crocco <stefano.crocco@...> 2009/09/25

On Friday 25 September 2009, Semih Ozkoseoglu wrote:

[#347164] Re: Roulette & rand — Semih Ozkoseoglu <ozansemih@...> 2009/09/25

Hi again Stefano,

[#347171] Re: Roulette & rand — Stefano Crocco <stefano.crocco@...> 2009/09/25

On Friday 25 September 2009, Semih Ozkoseoglu wrote:

[#347173] Re: Roulette & rand — Semih Ozkoseoglu <ozansemih@...> 2009/09/25

Stefano, Paul,

[#347179] Re: Roulette & rand — Semih Ozkoseoglu <ozansemih@...> 2009/09/25

Hi again,

[#347193] How to remove duplicate elements in a 2D array — Li Chen <chen_li3@...>

Hi all,

20 messages 2009/09/25

[#347202] Backporting Enumerator.new { ... } to Ruby 1.8.7 — "Shot (Piotr Szotkowski)" <shot@...>

Hello, good people of ruby-talk.

12 messages 2009/09/25

[#347260] handling of regexp objects that aren't referenced by variables, arrays, tables or objects — ThomasW <x.zupftom@...>

Hi,

12 messages 2009/09/27

[#347354] How do I use nitpick — "Michael W. Ryder" <_mwryder@...>

I was looking for a program like lint in C and came across nitpick. I

23 messages 2009/09/29
[#347366] Re: How do I use nitpick — Hassan Schroeder <hassan.schroeder@...> 2009/09/29

On Mon, Sep 28, 2009 at 9:25 PM, Michael W. Ryder

[#347397] Re: How do I use nitpick — "Michael W. Ryder" <_mwryder@...> 2009/09/29

Hassan Schroeder wrote:

[#347398] Re: How do I use nitpick — Ryan Davis <ryand-ruby@...> 2009/09/29

[#347364] Group by unique entries of a hash — Ne Scripter <stuart.clarke@...>

I have two data sets loaded into a hash to give the following output

15 messages 2009/09/29

[#347443] Get current working copy version in subversion/git — Anthony Metcalf <anthony.metcalf@...>

Hi,

11 messages 2009/09/30

[#347456] SystemStackError: stack level too deep > how make it deeper? — Joshua Muheim <forum@...>

Hi all

15 messages 2009/09/30
[#347459] Re: SystemStackError: stack level too deep > how make it deeper? — Jason Roelofs <jameskilton@...> 2009/09/30

On Wed, Sep 30, 2009 at 3:47 PM, Joshua Muheim <forum@josh.ch> wrote:

ANN: Sequel 3.4.0 Released

From: Jeremy Evans <code@...>
Date: 2009-09-02 17:03:07 UTC
List: ruby-talk #345497
Sequel is a lightweight database access toolkit for Ruby.

* Sequel provides thread safety, connection pooling and a concise DSL
  for constructing database queries and table schemas.
* Sequel also includes a lightweight but comprehensive ORM layer for
  mapping records to Ruby objects and handling associated records.
* Sequel supports advanced database features such as prepared
  statements, bound variables, stored procedures, master/slave
  configurations, and database sharding.
* Sequel makes it easy to deal with multiple records without having
  to break your teeth on SQL.
* Sequel currently has adapters for ADO, Amalgalite, DataObjects,
  DB2, DBI, Firebird, Informix, JDBC, MySQL, ODBC, OpenBase, Oracle,
  PostgreSQL and SQLite3.

Sequel 3.4.0 has been released and should be available on the gem
mirrors.  The 3.4.0 release adds numerous improvements:

New Plugins
-----------

* A nested_attributes plugin was added allowing you to modify
  associated objects directly through a model object, similar to
  ActiveRecord's Nested Attributes.

    Artist.plugin :nested_attributes
    Artist.one_to_many :albums
    Artist.nested_attributes :albums
    a = Artist.new(:name=>'YJM',
     :albums_attributes=>[{:name=>'RF'}, {:name=>'MO'}])
    # No database activity yet

    a.save # Saves artist and both albums
    a.albums.map{|x| x.name} # ['RF', 'MO']

  It takes most of the same options as ActiveRecord, as well as a
  a few additional options:

  * :destroy - Allow destruction of nested records.
  * :limit - For *_to_many associations, a limit on the number of
    records that will be processed, to prevent denial of service
    attacks.
  * :remove - Allow disassociation of nested records (can remove the
    associated object from the parent object, but not destroy the
    associated object).
  * :strict - Set to false to not raise an error message if a primary
    key is provided in a record, but it doesn't match an existing
    associated object.

  If a block is provided, it is passed each nested attribute hash.
  If the hash should be ignored, the block should return anything
  except false or nil.

* A timestamps plugin was added for automatically adding
  before_create and before_update hooks for setting values on
  timestamp columns.  There are a couple of existing external
  plugins that handle timestamps, but the implementations are
  suboptimal.  The new built-in plugin supports the following
  options (with the default in parentheses):

  * :create - The field to hold the create timestamp (:created_at)
  * :force - Whether to overwrite an existing create timestamp
    (false)
  * :update - The field to hold the update timestamp (:updated_at)
  * :update_on_create - Whether to set the update timestamp to the
    create timestamp when creating (false)

* An instance_hooks plugin was added for adding hooks to specific
  w
  model instances:

    obj = Model.new
    obj.after_save_hook{do_something}
    obj.save # calls do_something after the obj has been saved

  All of the standard hooks are supported, except for
  after_initialize.  Instance level before hooks are executed in
  reverse order of addition before calling super.  Instance level
  after hooks are executed in order of addition after calling super.
  If any of the instance level before hook blocks return false, no
  more instance level before hooks are called and false is returned.

  Instance level hooks are cleared when the object is saved
  successfully.

* A boolean_readers plugin was added for creating attribute? methods
  for boolean columns.  This can provide a nicer API:

    obj = Model[1]
    obj.active  # Sequel default column reader
    obj.active? # Using the boolean_readers plugin

  You can provide a block when loading the plugin to change the
  criteria used to determine if the column is boolean:

    Sequel::Model.plugin(:boolean_readers) do |c|
      db_schema[c][:db_type] =~ /\Atinyint/
    end

  This may be useful if you are using MySQL and have some tinyint
  columns that represent booleans and others that represent integers.
  You can turn the convert_tinyint_to_bool setting off and use the
  attribute methods for the integer value and the attribute? methods
  for the boolean value.

Other New Features
------------------

* Sequel now has support for converting Time/DateTime to local or UTC
  time upon storage, retrieval, or typecasting.

  There are three different timezone settings:

  * Sequel.database_timezone - The timezone that timestamps use in
    the database.  If the database returns a time without an offset,
    it is assumed to be in this timezone.

  * Sequel.typecast_timezone - Similar to database_timezone, but used
    for typecasting data from a source other than the database.  This
    is currently only used by the model typecasting code.

  * Sequel.application_timezone - The timezone that the application
    wants to deal with.  All Time/DateTime objects are converted into
    this timezone upon retrieval from the database.

  Unlike most things in Sequel, these are only global settings, you
  cannot change them per database.  There are only three valid
  timezone settings:

  * nil (the default) - Don't do any timezone conversion.  This is
    the historical behavior.

  * :local - Convert to local time/Consider time to be in local time.

  * :utc - Convert to UTC/Consider time to be in UTC.

  So if you want to store times in the database as UTC, but deal with
  them in local time in the application:

    Sequel.application_timezone = :local
    Sequel.database_timezone = :utc

  If you want to set all three timezones to the same value:

    Sequel.default_timezone = :utc

  There are three conversion methods that are called:

  * Sequel.database_to_application_timestamp - Called on time objects
    coming out of the database.  If the object coming out of the
    database (usually a string) does not have an offset, assume it is
    already in the database_timezone.  Return a Time/DateTime object
    (depending on Sequel.datetime_class), in the application_timzone.

  * Sequel.application_to_database_timestamp - Used when literalizing
    Time/DateTime objects into an SQL string.  Converts the object to
    the database_timezone before literalizing them.

  * Sequel.typecast_to_application_timestamp - Called when
    typecasting objects for model datetime columns.  If the object
    being typecasted does not already have an offset, assume it is
    already in the typecast_timezone.  Return a Time/DateTime object
    (depending on Sequel.datetime_class), in the
    application_timezone.

  Sequel does not yet support named timezones or per thread
  modification of the timezone (for showing all timestamps in the
  current user's timezone).  Extensions to support both features are
  planned for a future version.

* Dataset#truncate was added for truncating tables.  Truncate allows
  for fast removal of all rows in a table.

* Sequel now supports typecasting a hash to date, time, and datetime
  types.  This allows easy usage of Sequel with forms that split
  the entry of these database types into separate from fields.
  With this code, you can just have field names like:

    date[year]
    date[month]
    date[day]

  Rack will parse that into:

    {'date'=>{'year'=>?, 'month'=>?, 'day'=>?}}

  So then you can do:

    obj.date = params['date']
    # or
    obj.set(params)

* validates_unique now takes a block that can be used to scope the
  uniqueness constraint. This allows you to easily set up uniqueness
  validations that are only necessary in a given scope.  For example,
  a validation on username, but only for active users (as inactive
  users are soft deleted but remain in the table).  You just pass a
  block to validates_unique:

    validates_unique(:name){|ds| ds.filter(:active)}

* The serialization plugin now supports json.

* Sequel now supports generic concepts of
  CURRENT_{DATE,TIME,TIMESTAMP}.  Most databases support these SQL
  concepts, but not all, and some implementations act differently.

  The Sequel::SQL::Constants module holds the three constants,
  which are instances of SQL::Constant, an SQL::GenericExpression
  subclass.  This module is included in Sequel, so you can reference
  the constants more easily (e.g. Sequel::CURRENT_TIMESTAMP).
  It's separated out into a separate module so that you can just
  include that module in the top level scope, allowing you to
  reference the constants directly (e.g. CURRENT_TIMESTAMP).

    DB[:events].filter{date < ::Sequel::CURRENT_DATE}
    # or:
    include Sequel::SQL::Constants
    DB[:events].filter{date < ::CURRENT_DATE}

* Database#run was added for executing arbitrary SQL on a database.
  It's an alias for Database#<<, but it allows for a nicer API inside
  migrations, since you can now do:

    run 'SQL'

  instead of:

    self << 'SQL'

  You can also provide a :server option to run the SQL on the
  given server/shard:

    run 'SQL', :server=>:shard1

* Sequel::Model() can now take a database argument in addition to
  a symbol or dataset argument.  If a database is given, it'll create
  an anonymous subclass attached to the given database.  Other changes
  were made to allow the following code to work:

    class Item < Sequel::Model(DB2)
    end

  That will work correctly assuming a table named items in DB2.

* Dataset#ungrouped was added for removing a grouping from an
  existing dataset.  Also, Dataset#group when called with no arguments
  or with a nil argument also removes any existing grouping instead
  of resulting in invalid SQL.

* Model#modified? was added, letting you know if the model has been
  modified.  If the model hasn't been modified, calling
  Model#save_changes will do nothing.

* SQL::OrderedExpression now supports #asc, #desc, and #invert.

Other Improvements
------------------

* The serialization and lazy_attribute plugins now add accessor
  methods to a module included in the class, instead of to the
  model class itself.  This allows the methods to be overridden
  in the class and work well with super, as well for the plugins
  to work together on the same column.  Make sure the
  lazy_attributes accessor is setup before the serialization
  accessor if you want to have a lazy serialized column.

* Calling the add_* method for many_to_many association now saves the
  record if the record is new.  This makes it operate more similarly
  to one_to_many associations.  Previously, it raised an Error.

* Dataset#import now works correctly when called with a dataset.
  Previously, it generated incorrect SQL.

* The JDBC adapter now converts byte arrays to/from SQL::Blob.

* The JDBC adapter now attempts to bind unknown types using
  setObject instead of raising, so it can work with native Java
  objects.  It also binds boolean parameters correctly.

* Using multiple emulated ALTER TABLE statements (such as
  drop_column) in a single alter_table block now works correctly
  on SQLite.

* Database#indexes now works on JDBC for tables in a non-default
  schema.  It also now properly detects unique indexes on MSSQL.

* Database#schema on JDBC now accepts a :schema option.  Also,
  returned schema hashes now include a :column_size entry specifying
  the maximum length/precision for the column, since the
  :db_type entry doesn't have contain the information on JDBC.

* Datasets without tables now work correctly on Oracle, so things
  like DB.get(...) now work.

* A descriptive error message is given if you attempt to use
  Sequel with the mysql.rb driver (which Sequel doesn't support).

* The postgres adapter now works correctly with a modified
  postgres-pr that raises PGErrors instead of RuntimeErrors
  (e.g. http://github.com/jeremyevans/postgres-pr).

* You now get a Sequel::InvalidOperation instead of a NoMethodError
  if you attempt to update a dataset without a table.

* The inflection support has been modified to reduce code
  duplication.

Backwards Compatibility
-----------------------

* Sequel now includes fractional seconds in timestamps for all
  adapters except MySQL.  It's possible that this may break
  timestamp columns for databases that are not regularly tested.

* Sequel now includes timezone values in timestamps on Microsoft
  SQL Server, Oracle, PostgreSQL and SQLite.  The modification for
  SQLite is probably the biggest cause for concern, since SQLite
  stores times as text.  If you have an SQLite database that uses
  timestamps and is accessed by something other than Sequel, you
  should make sure that it works with the timestamp format that
  Sequel now uses.

* The default timestamp format used by Sequel now uses a space
  instead of 'T' between the date and time parts, which could
  possibly affect some databases that are not regularly tested.

* Attempting to insert into a grouped dataset or a dataset that
  selects from multiple tables will now raise an Error.  Previously,
  it would ignore any GROUP or JOIN settings and generate bad SQL if
  there were multiple FROM tables.

* Database#<< now always returns nil.  Before, the return value was
  adapter dependent.

* ODBC::Time and ODBC::DateTime values are now converted to the
  Sequel.datetime_class.  Before, ODBC::Time used Time and
  ODBC::DateTime used DateTime regardless of the
  Sequel.datetime_class setting.

* The default inflections were modified, fixing some obvious errors
  and possibly changing some existing inflections.  Further changes
  to the default inflections are unlikely.

Thanks,
Jeremy

* {Website}[http://sequel.rubyforge.org]
* {Source code}[http://github.com/jeremyevans/sequel]
* {Bug tracking}[http://code.google.com/p/ruby-sequel/issues/list]
* {Google group}[http://groups.google.com/group/sequel-talk]
* {RDoc}[http://sequel.rubyforge.org/rdoc]
-- 
Posted via http://www.ruby-forum.com/.

In This Thread

Prev Next