[#388437] How to unsubscribe? — Асет Асет <asetpochta@...>
SGksCgpJIHdhbnQgdG8gY3JlYXRlIG9uZSBtYWlsYm94IGZvciB0aGlzIG1haWxpbmcgbGlzdCBv
This seems to come up fairly frequently
[#388461] Need some help with regexp — Eyal Eizenberg <eyal.eizenberg@...>
Hello, I need some help with regex
You are getting that because you have spaces in it. You can get the same
Is there a way to do it so that the $& will contain "MARCOCHEN"?
On Mon, Oct 3, 2011 at 9:06 AM, Eyal Eizenberg
[#388468] Need some help with hashes, don't know what fails — Antonio Fernández vara <antoniofernandezvara@...>
Hi all,
[#388477] Error when installing gem... — "Darryl L. Pierce" <mcpierce@...>
I'm working on a project and am bundling up my APIs into a gem for
[#388478] Error when installing gem... — "Darryl L. Pierce" <mcpierce@...>
I'm working on a project and am bundling up my APIs into a gem for
[#388484] ruby-doc.org has been updated — James Britt <james.britt@...>
Ruby-doc.org has been updated.
James Britt <james.britt@gmail.com> wrote:
The new styling is a nice. And no more frames, definite upgrade!
On Mon, Oct 3, 2011 at 1:42 PM, James Britt <james.britt@gmail.com> wrote:
[#388485] net ping is in error in Windows 7 OS — Edward QU <ajax.htm@...>
Dear All
[#388492] Operator Overloading — Thescholar Thescholar <thescholar@...>
Let's suppose I have a class like this one and then I create two
On 10/04/2011 01:11 AM, Thescholar Thescholar wrote:
Darryl Pierce wrote in post #1024950:
On 10/04/2011 10:03 AM, Brian Candler wrote:
On Tue, Oct 4, 2011 at 3:53 PM, Darryl L. Pierce <mcpierce@gmail.com> wrote:
On 10/04/2011 11:11 AM, Adam Prescott wrote:
My understanding (probly flawed) is
On Tue, Oct 4, 2011 at 5:31 PM, Darryl L. Pierce <mcpierce@gmail.com> wrote=
2011/10/4 Jes=C3=BAs Gabriel y Gal=C3=A1n <jgabrielygalan@gmail.com>:
2011/10/4 Bartosz Dziewo=C5=84ski <matma.rex@gmail.com>:
2011/10/4 Jes=C3=BAs Gabriel y Gal=C3=A1n <jgabrielygalan@gmail.com>:
[#388499] help with university assignment — Nikita Kuznetsov <moog_master@...>
So, we are supposed to create an xml-rpc based event manager using 2-3
[#388533] Calculating prayer times — Dwayne Henderson <its.code.in.here@...>
Hello!
On Tue, Oct 4, 2011 at 1:02 PM, Dwayne Henderson <its.code.in.here@gmail.com
[#388537] ERB or Haml? — Isaac Sanders <isaacbfsanders@...>
ERB or Haml?
[#388546] after gem released v 0.8.1 — Roger Pack <rogerpack2005@...>
Hello all.
>> After includes the "after" command line utility
[#388558] question about method — "Joseph S." <musician_joe777@...>
AC = 14
[#388575] How to use 'net/ssh' to sudo su - — "Ivan C." <ivanchung84@...>
Hi,
[#388580] Best way to compare lines in 2 files — Guillaume Bloss <elysah@...>
Hi everybody,
[#388595] Read thru Csv file and store it in variables — ideal one <idealone5@...>
HI All,
On Wed, Oct 5, 2011 at 7:25 PM, ideal one <idealone5@hotmail.com> wrote:
"Jes=C3=BAs Gabriel y Gal=C3=A1n" <jgabrielygalan@gmail.com> wrote in pos=
On Wed, Oct 5, 2011 at 11:14 PM, ideal one <idealone5@hotmail.com> wrote:
"Jes=C3=BAs Gabriel y Gal=C3=A1n" <jgabrielygalan@gmail.com> wrote in pos=
[#388601] How to output an instance's type — Viaduct Productions <lists@...>
Hiya folks.
By type you want the variables class ?
Hi Kassym. Thanks for the post.
Viaduct Productions wrote in post #1025201:
>How do I output the type of a variable?
Hi Luke. Thanks for the reply.=20
A: Because it messes with the readability of the reply, since the
Some devs from a very long time ago (not a Star Wars reference), think =
On Thu, Oct 6, 2011 at 3:42 PM, Viaduct Productions
Am I right in thinking that you are using trimmed quotes with inline
[#388614] Errors while installing sqlite3 for Rails — Ruby Student <ruby.student@...>
Hello Boys and Girls,
[#388625] socket read, write when string found. — Bigmac Turdsplash <i8igmac@...>
I know exactly what i need to do, but i cant do it properly...
[#388628] comparing elements in same array — Thomas Le <metasmorph@...>
Hello,
On Thu, Oct 6, 2011 at 9:06 AM, Thomas Le <metasmorph@gmail.com> wrote:
Sorry .. this is my sample code
On Thu, Oct 6, 2011 at 10:02 AM, Thomas Le <metasmorph@gmail.com> wrote:
[#388631] NameError problem — Paul Roche <prpaulroche@...>
Hi. I'm sure it's been asked before, but I can't find the specific
[#388648] a dream: gem require auto-installer — Regis d'Aubarede <regis.aubarede@...>
Hello,
> You should try Bundler ...
On Thu, Oct 6, 2011 at 3:19 PM, Regis d'Aubarede
[#388650] Cheapest way to host low-traffic small-footprint Rails app? — Intransition <transfire@...>
I have a commercial Radiant-based website that I manage for a small-
On Thu, Oct 6, 2011 at 2:47 PM, Intransition <transfire@gmail.com> wrote:
On Oct 6, 2011, at 8:53 AM, Phillip Gawlowski wrote:
What do people consider "cheap"? You want scalability? Support? =20
On Oct 6, 2011, at 9:58 AM, Viaduct Productions wrote:
Dreamhost stores your passwords in plain text, and considers it a feature.
[#388688] Aumation the copyright text — Nike Mike <thillaibooks@...>
How to automate the copyright text for each newly created files in ruby
With the wide variety of licenses and how passionately people feel
[#388704] Simply question — itankgo itankgo <itankgo@...>
Can't understand:
[#388715] don't understand -r — Intransition <transfire@...>
Can anyone explain to me why, with RUBYOPT="-rubgems", this works:
Thomas Sawyer wrote in post #1025489:
[#388721] RUBY requirements — led dap <fullchaoz32@...>
hi im new in ruby what tools will i need to start my project development
[#388728] How to make Saas application? Is it possible? — Асет Орымбаев <asetpochta@...>
SGkgZXZlcnlib2R5IQoKSSB3YW50IHRvIGtub3csIGlzIGl0IHBvc3NpYmxlIHRvIGNyZWF0ZSBT
"=D0=90=D1=81=D0=B5=D1=82 =D0=9E=D1=80=D1=8B=D0=BC=D0=B1=D0=B0=D0=B5=D0=B2=
SGkgQnJpYW4sCgpUaGFua3MgZm9yIGFuc3dlciEgQlRXLCBkbyB5b3Uga25vdyB3aGF0IHByb3Rv
[#388741] What messaging layer to choose? — Асет Орымбаев <asetpochta@...>
SGkgZXZlcnlib2R5IQoKSSBuZWVkIGFkdmljZSBvbiBjaG9vc2luZyBtZXNzYWdpbmcgbGF5ZXIg
[#388755] open of web page fails — Joe Collins <joec_49@...>
here is the URL (spans 2 lines) and it fails with a bad uri message
[#388756] regex an array? — skolo pen <skolopen@...>
I am having troubles trying to regex the following array to only include
[#388795] rdoc 3.10 Released — Eric Hodel <drbrain@...7.net>
* https://github.com/rdoc/rdoc
[#388799] Ruby and MySQl — blue orchid <jeny.joshi@...>
UI.menu("Plugins").add_item('Condition Ratingjhj') { Jeny.paint }
[#388811] Basic OO Class question — "Kevin E." <kellwood@...>
Hi All
[#388812] require -- looking in rubygems, now "." — "charles a." <charles.agriesti@...>
irb
Thank you very much for taking time to reply sir. I am watching your
Thanks very much again. I really appreciate the help.
[#388814] TestR 14.0.0 (was test-loop) — "Suraj N. Kurapati" <sunaku@...>
Hello,
[#388817] Learning Ruby — Jim Adams <lockdownking@...>
Can someone please email me some PDF books or videos to learn Ruby?
[#388827] Check for boolean status in ruby — ideal one <idealone5@...>
Hi all,
[#388843] scheduler and thread — lover ruby <huynh_ngoc_5@...>
Hi
On 11/10/11 11:20, lover ruby wrote:
Sam Duncan wrote in post #1025958:
On Tue, Oct 11, 2011 at 8:08 AM, lover ruby <huynh_ngoc_5@yahoo.com> wrote:
[#388850] Http 0.0.1 - talk to the web humanely — Tony Arcieri <tony.arcieri@...>
Http is on Github: https://github.com/tarcieri/http
Tony Arcieri wrote:
What about the rest-client gem? Isn't this mostly the same?
[#388855] why does `a + f b` not parse? — Martin DeMello <martindemello@...>
ruby-1.9.2-p0 > 2 + sqrt 5
On Tue, Oct 11, 2011 at 06:32, Wayne Brissette <waynefb@earthlink.net> wrote:
On Tue, Oct 11, 2011 at 1:02 PM, Dave Aronson
Phillip Gawlowski wrote in post #1026042:
Yes, I think we all know that; the question is, why does 2 + sqrt(5)
Don't top post, please.
2011/10/11 Phillip Gawlowski <cmdjackryan@gmail.com>:
[#388869] Learning Ruby question regarding Looping — Dennis Nguyen <zerofiftysix@...>
Hey there, I'm new to this forums as well as being new to Ruby. I
[#388875] array of hashes — Mario Ruiz <tcblues@...>
I have an array of hashes like this:
[#388881] gem directory not find — Sam Porwal <pawan.porwal@...>
Hi All,
[#388921] Announcing Ruby-related content on minituku.net — Hidekazu Nozaka <hide@...>
Dear ruby-talk readers,
On Wed, Oct 12, 2011 at 21:46, Hidekazu Nozaka <hide@netlab.jp> wrote:
On 10/17/2011 03:28 AM, Dave Aronson wrote:
Thank You very much for the input!
[#388925] How to run a configure script from ruby and check for errors — Marc Heiler <shevegen@...>
Hi.
[#388928] Reading CSV files into arrays and then comparing — Khalid Rajput <khalidaslam@...>
Hi,
[#388945] What’s the best way of checking if an argument has been given or not? — Nikolai Weibull <now@...>
Hi!
...probably not the *best* way, but this works:
You can use this syntax, too. "args" becomes an array of all arguments given.
On Fri, Oct 14, 2011 at 15:29, Bartosz Dziewo=C5=84ski <matma.rex@gmail.com=
You could do it as a wrapper:
On Fri, Oct 14, 2011 at 15:51, Chris Hulan <chris.hulan@gmail.com> wrote:
You said you didn't want to manually do it, this lets the interpreter
Hmm, if you really don't want to use the splat *args, you could create a
luke gruber [2011-10-14 17:15]:
On Fri, Oct 14, 2011 at 17:31, Jens Wille <jens.wille@uni-koeln.de> wrote:
[#388946] Signal handling cross-platform — John Halfpenny <mynameisjohn@...>
Hi everyone,
[#388947] Beginning — "Junayeed Ahnaf Nirjhor" <zombiegenerator@...>
Hello,
Hi.
On Fri, Oct 14, 2011 at 08:29, Junayeed Ahnaf Nirjhor
[#388963] Ruby developer in Dublin — Antonio Ruzzelli <antonio.ruzzelli@...>
Apologies as this is probably in the wrong place.
[#388974] Help figuring out appropriate naming scheme (previously 'wedge') — Intransition <transfire@...>
Bare with me as I try to articulate this.
On Fri, Oct 14, 2011 at 5:01 PM, Intransition <transfire@gmail.com> wrote:
[#388987] Ruby functions to split numbers — ideal one <idealone5@...>
HI All,
ruby-1.9.2-p290 :010 > a = "01234567"
Ian M. Asaff wrote in post #1026669:
[#389011] deadlock producer consumer — rubix Rubix <aggouni2002@...>
Hi
[#389025] writing a poem backwards or in reverse order — Teresa Nguyen <s-unguyen2@...>
i would like to write a poem using nano and through ruby I would like to
On Sun, Oct 16, 2011 at 2:04 AM, Teresa Nguyen
"Jes=C3=BAs Gabriel y Gal=C3=A1n" <jgabrielygalan@gmail.com> wrote in pos=
On Sun, Oct 16, 2011 at 7:15 PM, teresa nuagen
"Jes=C3=BAs Gabriel y Gal=C3=A1n" <jgabrielygalan@gmail.com> wrote in pos=
"Jes=C3=BAs Gabriel y Gal=C3=A1n" <jgabrielygalan@gmail.com> wrote in pos=
On Sat, Oct 15, 2011 at 7:04 PM, Teresa Nguyen
Josh Cheek wrote in post #1026925:
[#389026] 'gem install' help please — Kaye Ng <sbstn26@...>
Hi.
Kaye Ng wrote in post #1026815:
Hello Luis.
On Oct 17, 2011, at 6:08 AM, Kaye Ng wrote:
Adam Stegman wrote in post #1027138:
[#389027] Shoebox hacked! — "Abu Y." <abuyoav@...>
Hi,
On Sun, Oct 16, 2011 at 10:51 AM, Abu Y. <abuyoav@gmail.com> wrote:
[#389037] Ruby and threading — Carter Cheng <cartercheng@...>
Hello,
On Sun, Oct 16, 2011 at 3:50 AM, Carter Cheng <cartercheng@gmail.com> wrote:
Hi Josh,
On Sun, Oct 16, 2011 at 4:03 AM, Josh Cheek <josh.cheek@gmail.com> wrote:
On Wed, Oct 19, 2011 at 2:11 AM, Josh Cheek <josh.cheek@gmail.com> wrote:
-----BEGIN PGP SIGNED MESSAGE-----
On Wed, Oct 19, 2011 at 7:56 AM, Sandor Sz=FCcs <sandor.szuecs@fu-berlin.de=
Is there any big projects using jRuby? It seems that jRuby is available
On Sun, Oct 16, 2011 at 12:09 PM, Alexey Petrushin <axyd80@gmail.com> wrote:
On Sun, Oct 16, 2011 at 7:59 PM, Josh Cheek <josh.cheek@gmail.com> wrote:
[#389045] 'compiling' ruby code into an msdos exe file — Joe Collins <joec_49@...>
Anybody done this? I would like to 'compile' ruby for packaging
[#389051] How to unit test COBOL using Ruby — Balakrishnan Srinath <balakrishnansrinath@...>
Hello,
[#389081] I fixed this - but why does it work? — "Edwin G." <edwin.galloway@...>
I am doing an exercise in a tutorial, which is to get this code to run:
[#389100] IDE — "Junayeed Ahnaf Nirjhor" <zombiegenerator@...>
Hello,
On Mon, Oct 17, 2011 at 04:45:33PM +0900, Junayeed Ahnaf Nirjhor wrote:
[#389103] error in watir installation — Lisa Andia <lisandia@...>
i need install ruby in my computer, is windows 7 32-bits and internet
[#389125] noobie question - how do I run this command-line program? — Jon Crowell <impersonal@...>
Hi. I downloaded a tiny ruby app called EarGTD and I am trying to get
On Mon, Oct 17, 2011 at 2:19 PM, Jon Crowell <impersonal@joncrowell.org>wrote:
Wow, thanks. That was a perfect explanation for the behavior I
[#389162] Return — "Junayeed Ahnaf Nirjhor" <zombiegenerator@...>
Hello,
On 10/18/2011 01:26 PM, Junayeed Ahnaf Nirjhor wrote:
On Tue, Oct 18, 2011 at 8:29 PM, Darryl L. Pierce <mcpierce@gmail.com> wrot=
[#389183] unable to launch a application with mysql — "Allan T." <titoleite4@...>
I am new in ruby development and in the first lines, shit happens :D
[#389201] why doesn't this work? — raphael teller <raphael.teller@...>
hey, I am a C programmer that decided to learn Ruby. I got some
In this case, Array.new isn't needed.
[#389217] efficient way to catch & continue on exception — Kassym Dorsel <k.dorsel@...>
I have the following :
[#389222] Moving files into alphabetical directories — simon harrison <simonharrison.uk@...>
Hi. Let's say I have an array like this:
On Wed, Oct 19, 2011 at 9:53 PM, simon harrison
On Oct 19, 4:47=A0pm, Jes=FAs Gabriel y Gal=E1n <jgabrielyga...@gmail.com>
On Oct 19, 2011, at 6:43 PM, Yossef Mendelssohn wrote:
On Thu, Oct 20, 2011 at 1:27 PM, Dan Nachbar <dan@nachbar.com> wrote:
[#389242] Call method on attribute update — Jason Lillywhite <jason.lillywhite@...>
Hello,
[#389245] Switch case with break statement — "Manju M." <manjuvpm12@...>
Can anyone help me to write the following codes in ruby?
[#389263] rubygems install via rvm on ubuntu 11.10 — "Jason W." <jason.wrench@...>
Hi
[#389269] wrapping object and method_missing — James French <James.French@...>
Hi,
[#389288] When is a method known to Ruby? — Marc Heiler <shevegen@...>
Hi.
[#389297] special characters in identifier — "DM W." <dwhelan@...>
I am attempting to create data via a ruby script. One of the require
[#389300] Creating threads can be slow? — "wam r." <wamrewam@...>
Hello!
[#389311] global variable -- last expression — "basha c." <cooolbasha@...>
Hi,
[#389319] Can't run rake task — "Junayeed Ahnaf Nirjhor" <zombiegenerator@...>
Hello,
[#389325] macruby versus MRI 1.9 — Carter Cheng <cartercheng@...>
I was wondering what the differences between these two releases are. I was
[#389330] Error with Rake — "Junayeed Ahnaf Nirjhor" <zombiegenerator@...>
Hello,
[#389340] security thesis advice — Jorge Bo <jorgebo10@...>
Hi,
Hello,
On Mon, Oct 24, 2011 at 12:23 AM, Michal Suchanek <hramrach@centrum.cz> wrote:
I have actually recently become quite interested in these sorts of topics.
On 10/22/2011 11:55 PM, Jorge Bo wrote:
[#389344] rubypython 0.5.3 Released — Austin Ziegler <halostatue@...>
rubypython version 0.5.3 has been released!
On Sun, Oct 23, 2011 at 10:10:26AM +0900, Austin Ziegler wrote:
On Mon, Oct 24, 2011 at 05:13:18AM +0900, Ryan Davis wrote:
[#389346] installing RedCloth — Kaye Ng <sbstn26@...>
Hi guys!
Those paths suggest that you may be using Ruby 1.9.1, which has lots
[#389352] Ruby solar calculations — Dwayne Henderson <its.code.in.here@...>
Hi!
[#389368] Radix v2.0.1 released — transfire@...
Radix 2.0.1 has been released.
[#389377] ASCII character help! — Ray DarkScythe <scytherdarkscyther@...>
Hi, I am new to ruby and following some tutorial of "Daniel Carrera"
[#389387] how can i find users mac address — "Rajesh B." <rajesh.13kits@...>
Hi all,
[#389429] Unusual behavior of a Ruby hash — Edmond Kachale <kachaleedmond@...>
Rubysters,
On Tue, Oct 25, 2011 at 3:50 PM, Edmond Kachale <kachaleedmond@gmail.com> w=
In fact, Jesus should be the program saviour (i'm kidding).
[#389436] JRuby 1.6.5 Released — Thomas E Enebo <tom.enebo@...>
The JRuby community is pleased to announce the release of JRuby 1.6.5.
[#389442] DNote v1.7.0 released — transfire@...
DNote 1.7.0 has been released.
[#389450] How to correctly handle partial write in Ruby Sockets? — Grigory Petrov <grigory.v.p@...>
TCP sockets are streams, not messages, so berkeley sockets send()
On Wed, Oct 26, 2011 at 9:01 AM, Grigory Petrov <grigory.v.p@gmail.com> wro=
[#389455] How to SSH interactive Session — KING SABRI <king.sabri@...>
Good day everyone
I'd suggest using Net::SSH::Telnet. This is a wrapper around Net::SSH
[#389465] Modify only a .rb file, but not other .rb files, while still extending core classes? — Marc Heiler <shevegen@...>
Given is a small .rb file.
On Wed, Oct 26, 2011 at 4:04 PM, Marc Heiler <shevegen@linuxmail.org> wrote=
2011/10/26 Jes=C3=BAs Gabriel y Gal=C3=A1n <jgabrielygalan@gmail.com>
On Wed, Oct 26, 2011 at 4:28 PM, Peter Vandenabeele
[#389490] scoping of special variables — Carter Cheng <cartercheng@...>
Hello,
[#389501] Kernel on Ruby 1.9.2 — Mario Ruiz <tcblues@...>
Now it seems like Kernel it is not working the same way
[#389506] @_result object in Ruby 1.9.2 — Mario Ruiz <tcblues@...>
I was using @_result in Ruby 1.8.7 but it seems that doesn't exist
[#389507] RCR: output on non-main thread that die from an unrescued exception — Roger Pack <rogerpack2005@...>
Hello all.
Roger Pack wrote in post #1028871:
[#389508] Memory issue with tail command — "Jon S." <bluefootedpig@...>
I am writing some code, that needs to open a file of size 12413 to read
[#389518] SOAP WSDLDriverFactory - where? — PD Dizon <paulinedonna.dizon@...>
Hi all,
[#389526] Use #extend on BasicObject ? — Intransition <transfire@...>
Can it be done?
[#389546] Newbie Ruby Softball — mike lev <mlevineisme@...>
I'm new to ruby but trying to learn. I've been trying to figure out some
[#389553] "A" and "an" articles in front of words — Faith Tarcha <faith@...>
Hello guys, I have two objects that consist of arrays and I am suppose
On Sat, Oct 29, 2011 at 10:49, Faith Tarcha <faith@centrum.sk> wrote:
hi Faith,
On Sun, Oct 30, 2011 at 22:23, jake kaiden <jakekaiden@yahoo.com> wrote:
Sorry to be late to the party on this one, but a regex seems a bit of a =
On Sun, Nov 6, 2011 at 12:59 PM, steve ross <cwdinfo@gmail.com> wrote:
Indeed. My understanding is that the usage of a/an depends on the
> Indeed. My understanding is that the usage of a/an depends on the
On Tue, Nov 08, 2011 at 05:23:31PM +0900, Gon=E7alo C. Justino wrote:
google hasn't helped: does anyone have or know of a "complete" list of
A complete dictionary shouldn't be necessary. Just exceptions. Look at =
[#389590] Vim Ruby Config — "Junayeed Ahnaf Nirjhor" <zombiegenerator@...>
Hello,
You can start here. https://github.com/vim-ruby/vim-ruby
Okay I installed vim ruby and supertab but it still is not completing =
Coming over from AppleScript, one of the things I haven't been able to =
On 10/31/2011 03:40 AM, Wayne Brissette wrote:
Thanks everybody. It's just a matter of rethinking things, but the =
[#389599] UDPSocket#bind(ip, port) fails under IPv6 ! — Iñaki Baz Castillo <ibc@...>
Hi, the following script shows that UDPSocket#bind fails if the given
[#389617] Recursion WTF! — "Damián M. González" <gonzalezdamianm@...>
Hello friends, my mind is blowing up in flames. I can't understand how
ANN: Sequel 3.28.0 Released
Sequel is a lightweight database access toolkit for Ruby.
* Sequel provides thread safety, connection pooling and a concise
DSL for constructing SQL queries and table schemas.
* Sequel includes a 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, savepoints,
two-phase commit, transaction isolation, master/slave
configurations, and database sharding.
* Sequel currently has adapters for ADO, Amalgalite, DataObjects,
DB2, DBI, Firebird, IBM_DB, Informix, JDBC, MySQL, Mysql2, ODBC,
OpenBase, Oracle, PostgreSQL, SQLite3, Swift, and TinyTDS.
Sequel 3.28.0 has been released and should be available on the gem
mirrors.
= New Adapter Support
* Sequel now has much better support for the DB2 database.
* An ibmdb adapter has been added, and is the recommended adapter to
to use if you want to connect to DB2 from MRI.
* A jdbc db2 subadapter has been added, allowing good DB2 support on
JRuby.
* The db2 adapter has been cleaned up substantially, and now works
well, but it is still recommended that you switch to ibmdb if you
are using the db2 adapter.
* The firebird adapter has been split into shared and specific parts,
and quite a few fixes were made to it.
* A jdbc firebird subadapter has been added, allowing connection to
firebird databases from JRuby.
= New PostgreSQL 9.1 Features
* Dataset#returning has been added for using the RETURNING clause on
INSERT/UPDATE/DELETE queries. RETURNING allows such queries to
return results in much the same way as a SELECT query works.
When Dataset#returning is used, Dataset #insert, #update, and
#delete now accept a block that is passed to Dataset #fetch_rows
which is yielded plain ruby hashes for each row inserted, updated,
or deleted. If Dataset#returning is used and a block is not given
to those methods, those methods will return an array of plain hashes
for all rows inserted, updated, and deleted.
* Dataset#with_sql now treats a symbol as a first argument as a method
name to call to get the SQL. The expected use case for this is with
Dataset#returning and insert/update/delete:
DB[:items].
returning(:id).
with_sql(:update_sql, :b => :b + 1).
map(:id)
Basically, it makes it more easily to statically set the
insert/update/delete SQL, and then be able to use the full
dataset API for returning results. As mentioned above, using
Dataset#returning with #insert, #update, and #delete yields plain
hashes, so if you want to have the row_proc applied (e.g. you are
using models), you need to use this method instead, since you can
then call #each or #all to make sure the row_proc is called on all
returned rows.
* Dataset#with (common table expressions) now affects
INSERT/UPDATE/DELETE queries.
* Database#create_table? now uses CREATE TABLE IF NOT EXISTS on
PostgreSQL 9.1.
= Other New Features
* The :limit option is now respected when eager loading via either
eager or eager_graph. By default, Sequel will just do an array
slice of the resulting ruby array, which gets the correct answer,
but does not offer any performance improvements. Sequel also
offers a new :eager_limit_strategy option for using more advanced
query types that only load the related records from the database.
The available values for the :eager_limit_strategy option are:
:window_function: This uses the row_number window function
partitioned by the related key fields. It can only be used
on databases that support window functions (PostgreSQL 8.4+,
Microsoft SQL Server 2005+, DB2).
:correlated_subquery: This uses a correlated subquery that is
limited. It works on most databases except MySQL and DB2.
You can provide a value of true as the option to have Sequel
pick a strategy to use. Sequel will never use a correlated
subquery for true, since in some cases it can perform worse than
loading all related records and doing the array slice in ruby.
If you want to enable an eager_limit_strategy globally, you can
set Sequel::Model.default_eager_limit_strategy to a value, and
all associations that use :limit will default to using that
strategy.
* one_to_one associations that do not represent true one-to-one
database relationships, but represent one-to-many relationships
where you are only returning the first object based on a given
order are also now handled correctly when eager loading.
Previously, eager loading such associations resulted in the last
matching object being associated instead of the first matching
object being associated.
You can also use an :eager_limit_strategy for one_to_one
associations. In addition to the :window_function and
:correlated_subquery values, there is also a :distinct_on value
that is available on PostgreSQL for using DISTINCT ON, which is
the fastest strategy if you are using PostgreSQL.
* Dataset#map, #to_hash, #select_map, #select_order_map, and
#select_hash now accept arrays of symbols, and if given arrays
of symbols, use arrays of results. For example:
DB[:items].map([:id, :name])
# => [[1, 'foo'], [2, 'bar'], ...]
DB[:items].to_hash([:id, :foo_id], [:name, :bar_id])
# => {[1, 3]=>['foo', 5], [2, 4]=>['bar', 6], ...}
* For SQL expression objects where Sequel cannot deduce the type
of the object, it now will consider the type of the argument
when a &, |, or + operator is used. For example:
:x & 1
Previously, this did "x AND 1", now it does "x & 1". Using a
logical operator on an integer doesn't make sense, but it's
possible people did so if the database uses 1/0 for true/false.
Likewise:
:x + 'foo'
Previously, this did "x + 'foo'" (addition), now it does
"x || 'foo'" (string concatenation).
* The sql_string, sql_number, and sql_boolean methods are now
available on SQL::ComplexExpressions, so you can do:
(:x + 1).sql_string + ' foos'
# (x + 1) || ' foos'
Previously, there was not an easy way to generate such SQL
expressions.
* :after_load association hooks are now applied when using
eager_graph. Previously, they were only applied when using
eager, not when using eager_graph.
* Database#copy_table has been added to the postgres adapter if pg
is used as the underlying driver. It allows you to get very
fast exports of table data in text or CSV format. It also
accepts datasets, allowing fast exports of arbitrary queries
in text or CSV format.
* SQL extract support (:timestamp.extract(:year)) is now emulated
on the databases that don't natively support it, such as SQLite,
Microsoft SQL Server, and DB2. At least the following values are
supported for extraction: :year, :month, :day, :hour, :minute,
and :second.
* The bitwise XOR operator is now emulated on SQLite. Previously,
attempting to use it would cause the database to raise an error.
* A Database#use_timestamp_timezones accessor has been added on
SQLite. This allows you to turn off the use of timezones in
timestamps by setting the value to false. This is necessary if you
want you want to use the SQLite datetime functions, or the new
ability to emulate extract.
Note that this setting does not affect the current database
content. To convert old databases to the new format, you'll
have to resave all rows that have timestamps.
At some point in the future, Sequel may default to not using
timezones in timestamps by default on SQLite, so if you would
like to rely on the current behavior, you should set this
accessor to true now.
* Sequel now works around bugs in MySQL when using a subselect with
a LIMIT by using a nested subselect.
* Sequel now works around issues in Microsoft SQL Server and DB2 when
using a subselect with IN/NOT IN that uses the emulated offset
support.
* The jdbc adapter now returns java.sql.Clob objects as
Sequel::SQL::Blobs.
* Sequel now considers database clob types as the :blob schema type.
* Sequel::SQLTime.create has been added for more easily creating
instances:
Sequel::SQLTime.create(hour, minute, second, usec)
* Dataset#select_all now accepts SQL::AliasedExpression and
SQL::JoinClause arguments and returns the appropriate
SQL::ColumnAll value that selects all columns from the related
table.
* Model.set_dataset now accepts Sequel::LiteralString objects that
represent table names. This usage is not encouraged except in
rare cases such as using a set returning function in PostgreSQL.
* Dataset#supports_cte? now takes an optional argument specifying the
type of query (:insert, :update, :delete, :select). It defaults to
:select.
* Dataset#supports_returning? has been added. It requires an
argument specifying the type of query (:insert, :update, or
:delete).
* Dataset#supports_cte_in_subqueries? has been added for checking
for support for this ability. Apparently, only PostgreSQL
currently supports this. For other adapters that support CTEs but
not in subqueries, if a subquery with a CTE is used in a JOIN, the
CTE is moved from the subquery to the main query.
* Dataset#supports_select_all_and_column has been added for seeing
if "SELECT *, foo ..." style queries are supported. This is false
on DB2, which doesn't allow such queries. When it is false, using
select_append on a dataset that doesn't specifically select columns
will now change the query to do "SELECT table.*, foo ..." instead,
working around the limitation on DB2.
* Dataset#supports_ordered_distinct_on? has been added. Currently,
this is only true on PostgreSQL. MySQL can emulate DISTINCT ON
using GROUP BY, but it doesn't respect ORDER BY, so it some
cases it cannot be used equivalently.
* Dataset#supports_where_true? has been added for checking for support
of WHERE TRUE (or WHERE 1 if 1 is true). Not all databases support
using such a construct, and on the databases that do not, you have
to use WHERE (1 = 1) or something similar.
= Other Improvements
* Sequel 3.27.0 was negatively affected by a serious bug in
ActiveSupport's Time.=== that has still not been fixed, which
broke the literalization of Time objects. In spite of the bad
precedent it sets, Sequel now avoids using Time.=== on a
subclass of Time to work around this ActiveSupport bug.
* Dataset#with_pk now uses a qualified primary key instead of an
unqualified primary key, which means it can now be used correctly
after joining to a separate table.
* Association after_load hooks when lazy loading are now called
after the association has been loaded, which allows them to change
which records are cached. This makes the lazy load case more
similar to the eager load case.
* The metaprogrammatically created methods that implement Sequel's
DSL support have been made significantly faster by using
module_eval instead of define_method.
* The type translation in the postgres, mysql, and sqlite adapters
has been made faster by using Method objects that result in more
direct processing.
* Typecasting values for time columns from Time values to
Sequel::SQLTime values now correctly handles fractional seconds on
ruby 1.9.
= Backwards Compatibility
* Dataset#insert_returning_sql has been changed to a private method
in the PostgreSQL and Firebird adapters, and it operates
differently than it did previously. The private
#insert_returning_pk_sql and #insert_returning_select_sql methods
have been removed.
* Dataset#with_pk no longer does some defensive checking for misuse of
primary keys (e.g. providing a composite key when the model uses
a single key). Previously, Sequel would raise an Error
immediately, now such behavior is undefined, with the most likely
behavior being the database raising an Error.
* The :alias_association_type_map and :alias_association_name_map
settings have been removed from the :eager_graph dataset option,
in favor of just storing the related association reflection.
* The internals of the db2 adapter have changed substantially, if you
were relying on some of the private methods defined in it, you will
probably have to modify your code.
* The firebird adapter was substanially modified, specifically parts
related to insert returning autogenerated primary key values, so if
you were previously using the adapter you should probably take more
care than usual when testing your upgrade.
* The Dataset::WITH_SUPPORTED constant has been removed.
* The Dataset#supports_cte? method now accepts an optional argument.
If you overrode this method, your overridden method now must
accept an optional argument.
* If you were previously doing:
:x & 1
and wanting "x AND 1", you have to switch to:
:x.sql_boolean & 1
Likewise, if you were previously doing:
:x + 'foo'
and wanting "x + 'foo'", you need to switch to:
:x.sql_number + 'foo'
* Sequel no longer does defensive type checking in the SQL expression
support, as it was often more strict than the database and would
not allow the creation of expressions that were valid for the
database.
Thanks,
Jeremy
* {Website}[http://sequel.rubyforge.org]
* {Source code}[http://github.com/jeremyevans/sequel]
* {Blog}[http://sequel.heroku.com]
* {Bug tracking}[http://github.com/jeremyevans/sequel/issues]
* {Google group}[http://groups.google.com/group/sequel-talk]
* {RDoc}[http://sequel.rubyforge.org/rdoc]
--
Posted via http://www.ruby-forum.com/.