[#407841] Making PKCS12 Stores in Ruby (& where's PKCS8)? — "Carlo M." <lists@...>
I'm fairly new to Ruby, but very comfortable with OpenSSL. I thought it
[#407865] Is it a bug(about constant reference on dynamic class). — jin chizhong <lists@...>
When I use a dynamic class, It can not reference constants.
[#407882] Ruby extremely slow compared to PHP — Mick Jagger <lists@...>
Hello there, how are you? Hope you are fine. I am a PHP programmer
You sure you want this:
[#407897] 'require' is not loading files — "Elliot M." <lists@...>
I am new to ruby and have been teaching it to myself for the past so I
[#407907] Cannot access constants from included modules in a submodule — "Bram S." <lists@...>
Hi there,
[#407908] TCPServer/Socket and Marshal problem — Panagiotis Atmatzidis <atma@...>
Hello,
On 06/03/2013 11:47 AM, Panagiotis Atmatzidis wrote:
On Mon, Jun 3, 2013 at 8:47 PM, Panagiotis Atmatzidis
Hello Robert,
On Wed, Jun 5, 2013 at 10:54 AM, Panagiotis Atmatzidis
[#407914] Problems after upgraded from 1.9.1 to 1.9.3 — "J. V." <lists@...>
We have a production server with a running web application and just
[#407915] Where does Ruby look to load files? — "J. V." <lists@...>
Can someone explain what changed from 1.9.1 to 1.9.2 with regards to
[#407931] Longer user input? — Zeil Era <lists@...>
I think the maximum number of characters in user input ('gets') is 254.
[#407946] Is rubyquiz.com dead? — Alphonse 23 <lists@...>
Thread title says everything.
This sucks. I was planning on uses those for practice.. Does anyone know
On Wed, Jun 5, 2013 at 12:24 PM, Alphonse 23 <lists@ruby-forum.com> wrote:
archive.org has a fairly complete archive of the website from eairler this
In no way shape or form am I saying that I have the time to manage or
[#407949] Need help to start with Ruby — "Shubhada S." <lists@...>
Hi,
[#407955] Create a nested structure from a CSV — Oli Sanders <lists@...>
Hello,
You have attributes like "is supervisor". Maybe a Hash isn't the best
[#407968] Compiling or building an application with green shoes — Ruby Student <ruby.student@...>
I am learning ruby and shoes and started to building a simple
[#408000] My car is "falling" off the screen green shoes — Ruby Student <ruby.student@...>
Team,
[#408010] RubyTk - tkimg fails to import? — Ryan Braun <lists@...>
Hi,
[#408012] Need help understanding recursion. — pedro oliva <lists@...>
Ive been reading Chris Pine's book 'Learn to Program' and its been going
Subject: Need help understanding recursion.
[#408021] Playing with method_missing -- argument list — Tamara Temple <tamouse.lists@...>
[#408043] What do I need to write a web-based application invoked from a browser — Ruby Student <ruby.student@...>
Hello Team,
[#408046] Use of capybara outside of any application — tamouse mailing lists <tamouse.lists@...>
I'm trying to set up a cucumber/capybara test suite that I can use
[#408055] How do I write a method, which returns whether the letters in a word occur in alphabetical order — "Tario C." <lists@...>
How do I write a method, which returns whether the letters in a word
Tario C. wrote in post #1111683:
[#408058] Write a method intersection that takes two ranges — "Tario C." <lists@...>
How do I write a method intersection(range1, range2) that takes two
[#408090] "Unable to require openssl" is driving me crazy gem 2.0.3 might be broken — Ruby Student <ruby.student@...>
Hello Team,
On 06/09/2013 03:17 PM, Ruby Student wrote:
I already have the openssl development package. I recompiled and got the
[#408099] extract from output (regular expressions) — Thomas Cale <lists@...>
Hi guys,
[#408101] buffer overflow detected while doing gem install savon in Ruby 1.8.6 on Fedora11 — Khudadad Kazi <lists@...>
Hi,
Hello
[#408102] Class or method to convert hash keys to enable either string or symbol access? — Tamara Temple <tamouse.lists@...>
[#408117] Issues compiling Ruby 1.9.33-p429 under AIX version 7 — Ruby Student <ruby.student@...>
While trying to build Ruby 1.9.33-p429 under AIX version 7, the *./configure
[#408121] How to install a gem without using gem command online — Ruby Student <ruby.student@...>
Team,
[#408129] Getting Started With Development — Chamila Wijayarathna <cdwijayarathna@...>
I'm new to Ruby Development. I downloaded source from Github, but couldn't
Ruby is often installed on linux, or can be easily installed with the
Per-erik Martin wrote in post #1112021:
Subject: Re: Getting Started With Development
Carlo E. Prelz wrote in post #1112089:
Subject: Re: Getting Started With Development
Carlo E. Prelz wrote in post #1112183:
[#408138] Loop with range question — "Scott H." <lists@...>
Hi All, working through understanding loops. Would someone explain why
[#408142] Building Ruby — Chamila Wijayarathna <cdwijayarathna@...>
How can I install Ruby at http://www.ruby-lang.org/en/download on Ubuntu?
On Tue, Jun 11, 2013 at 11:59 AM, Chamila Wijayarathna <
When I try to make, it says "executable host Ruby is required"
Building ruby requires a working ruby installation. Either you get a
[#408148] How would I refactor these four `unless` statements? — "Rafal C." <lists@...>
Let's say I have the following four `unless` statements in a row. At
[#408189] Error trying to download Ruby Gems on Windows — "Tyler Z." <lists@...>
I'm trying to download gems and every time I do I get this error:
On Wed, Jun 12, 2013 at 3:05 PM, Tyler Z. <lists@ruby-forum.com> wrote:
[#408192] Timsort in Ruby — Alphonse 23 <lists@...>
I just learned about Tim sort for the first time:
[#408198] NokoGiri XML Parser — "Devender P." <lists@...>
Hi,
[#408201] trying to load a .rb file in irb — "Eric D." <lists@...>
I am trying to load a ruby program into irb and it will not load.
[#408205] Can I use Sinatra to render dynamic pages? — Ruby Student <ruby.student@...>
Hell Team,
Dynamicly updating content on a page falls under Ajax (
You should be able to do this without JavaScript by using streaming.
Well, I got some good suggestions from everyone here. I thank you all for
Sinatra is as lightweight and simple a framework you can choose for doing a
Nick and everyone else,
Hi,
Nick,
in thin project, there a a async exemple which
[#408207] Unexpected output piping to ruby -pe '' — Greg Ferguson <lists@...>
How come Ruby outputs the incoming piped text when there is no code to
[#408227] Complete eLearning Course on Ruby using Screen-Casts — Navin Dhanuka <email@...007.com>
Hi,
[#408234] Set up local tcpserver that conencts to socket — "Rs N." <lists@...>
How can we do this?PLease we really need help.
[#408261] Issue in reading data from yaml file — Rochit Sen <lists@...>
Hi All,
On Sun, Jun 16, 2013 at 11:43 AM, Rochit Sen <lists@ruby-forum.com> wrote:
[#408275] Compare and sort one array according to another. — masta Blasta <lists@...>
I have two arrays of objects that look something like this:
On Mon, Jun 17, 2013 at 10:39 PM, Jes=FAs Gabriel y Gal=E1n
You have said that the size of your two arrays is small, so the fact that
On Mon, Jun 17, 2013 at 11:35 PM, Douglas Seifert <doug@dseifert.net> wrote:
Robert Klemme wrote in post #1112735:
If the items within each array belong to each other, how about a
Joel Pearson wrote in post #1112665:
[#408276] Comparing objects — "Thom T." <lists@...>
How do I compare two objects in Ruby, considering only attributes
On Mon, Jun 17, 2013 at 10:52 AM, Thom T. <lists@ruby-forum.com> wrote:
[#408307] getting the most out of Ruby — robin wood <lists@...>
I write a lot of scripts in Ruby, most are small simple things but some
The biggest jumping point for me is when I stopped trying to program Ruby
On Tue, Jun 18, 2013 at 9:59 PM, Brandon Weaver <keystonelemur@gmail.com>wrote:
[#408309] Creating ruby script exe — Rochit Sen <lists@...>
Hi All,
That's a side-effect of using the command --no-dep-run
[#408347] Long conditionals/ multiple conditionals — "Matthew T." <lists@...>
Hi everyone! I am new to Ruby so I need help. Much appreciated!
[#408348] Mime — Brandon Weaver <keystonelemur@...>
Hey Ruby-Talk,
[#408353] Why the `#new_ostruct_member` not being able to add the `:email` ? — Love U Ruby <lists@...>
require 'ostruct'
[#408357] Beginners problem with database and datamapper — cristian cristian <lists@...>
Hi all!
[#408371] require 'rspec' and Ruby 1.8.7 — Mary-Anne Wolf <lists@...>
I am new to Ruby but not to Software Engineering.
[#408384] Licensing terms for "linking" with Ruby — "Muhammad Ali S." <lists@...>
Hi,
[#408388] Cometd client for Ruby — Peter Hickman <peterhickman386@...>
I am going to have to connect to a comet server using Ruby. What I need is
[#408408] Load error - Std lib class Dir — Love U Ruby <lists@...>
I am required to use the class -
[#408427] Confusin with Hash default — Love U Ruby <lists@...>
I was doing some practice and play with Hash default value as written in
[#408437] How do I input a variable floating point number into Ruby Programs — "Michael P F." <lists@...>
I want to evaluate the following interactively:
I want to input the variable, which changes, from the console and
[#408450] Running wordlist.rb code from "why's (poignant) Guide to Ruby" — Arslan Farooq <lists@...>
Hi,
Okay I got it working now:
On 6/24/2013 12:02 AM, Arslan Farooq wrote:
[#408457] A working memory profiling solution? — Andras Horvath <lists@...>
Dear All,
On Mon, Jun 24, 2013 at 6:59 PM, Andras Horvath <lists@ruby-forum.com>wrote:
Robert Klemme wrote in post #1113449:
[#408459] Need help adding formatting while using "WriteExcel" for spreadsheet — Ruby Student <ruby.student@...>
Hello Team,
[#408466] Sum method through while loops or iteration — "Eric D." <lists@...>
I am trying to create a sum method for an empty array, that will return
On Tue, Jun 25, 2013 at 1:33 AM, Eric D. <lists@ruby-forum.com> wrote:
[#408475] Ruby docs in pdf format? — David Croche <lists@...>
I've searched Google for a while and cannot find the official docs in
[#408498] exec iterate through array — Micah Seattle <lists@...>
Hello all, I am looking for a little insight on how to by pass this
[#408517] Faster primality testing and factorization methods in Ruby — "Jabari Z." <lists@...>
I have created various implementations of methods to replace prime? and
I get the following, on an Ubuntu 64-bit VM (edited to fit the page
ah yeah, on 32-bit it's really-really slow.. (trying on my more powerful PC
[#408518] #!/usr/bin/env: No such file or directory — Todd Sterben <lists@...>
I am new to both linux and ruby. I am using Ubuntu and Ruby 1.9
[#408528] Designing a Cabinet class — Mike Vezzani <lists@...>
Hello all,
[#408543] muack 0.7.0 released — "Lin Jen-Shin (godfat)" <godfat@...>
## Muack <https://github.com/godfat/muack>
[#408547] Where's this ruby feature documented? ...and the case of an accidentally discovered feature. — Kendall Gifford <zettabyte@...>
So, while doing some random testing in an IRB session, I accidentally
[#408561] Find elment in array of hashes — Rodrigo Lueneberg <lists@...>
array = {:id=>1, :price =>0.25} # index[0]
"3" is not the same as 3
On Fri, Jun 28, 2013 at 7:21 PM, Rodrigo Lueneberg <lists@ruby-forum.com>wrote:
I am sorry, I did not understand what you tried to convey. To me it is
On 6/28/2013 5:58 PM, Rodrigo Lueneberg wrote:
Walton,
It's worrying that so many people who put their code problems on here
[#408571] Best practice to use Enumerable#Sort and Enumerable#Sort_by — Love U Ruby <lists@...>
While below is perfect :
The #sort_by block tells the engine which field to use when sorting an item.
[#408605] variable names not allowed "?" and "!" but method name does - why? — Love U Ruby <lists@...>
We can write a method name as foo! or foo?; but not the same with
Am 30.06.2013 21:29, schrieb Love U Ruby:
"Matthias W=C3=A4chter" <matthias@waechter.wiz.at> wrote in post #1114002=
Am 30.06.2013 22:07, schrieb Love U Ruby:
ANN: Sequel 3.48.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, CUBRID,
DataObjects, DB2, DBI, Firebird, IBM_DB, Informix, JDBC, MySQL,
Mysql2, ODBC, OpenBase, Oracle, PostgreSQL, SQLite3, Swift, and
TinyTDS.
Sequel 3.48.0 has been released and should be available on the gem
mirrors. This is the last minor release in the Sequel 3 series.
= Deprecation Warnings
The main change in Sequel 3.48.0 is the deprecation of Sequel
features that will be modified, moved, or removed in Sequel 4.
For the reasoning behind these changes, please review the
commits logs at
https://github.com/jeremyevans/sequel-4-plans/commits/master
== Deprecation Logging
If you use a deprecated method or feature, Sequel will by default
print a deprecation message and 10 lines of backtrace to stderr
to easily allow you to figure out which code needs to be
updated. You can change where the deprecation messages go and how
many lines of backtrace are given using the following:
# Log deprecation information to a file
Sequel::Deprecation.output = File.open('deprecated.txt', 'wb')
# Turn off all deprecation logging
Sequel::Deprecation.output = nil
# Use 5 lines of backtrace when logging deprecation messages
Sequel::Deprecation.backtrace_filter = 5
# Use all backtrace lines when logging deprecation messages
Sequel::Deprecation.backtrace_filter = true
# Don't include backtraces in the deprecation logging
Sequel::Deprecation.backtrace_filter = false
# Select which backtrace lines to output
Sequel::Deprecation.backtrace_filter = \
lambda{|line, line_no| line_no < 3 || line =~ /my_app/}
== Major Change
* The core extensions will no longer be loaded by default. You will
have to use `Sequel.extension :core_extensions` to load the core
extensions.
* The Symbol#[] and Symbol#{<,>,<=,>=} methods will no longer be
provided by the core extensions on ruby 1.8. You will have to
use `Sequel.extension :ruby18_symbol_extensions` to use them.
== Core Behavior Changes
* Dataset#filter becomes an alias for #where, and #exclude
becomes an alias for #exclude_where. You will have to
use `DB.extension :filter_having` to get the previous behavior.
Dataset#and and #or will also only affect the WHERE clause.
* Dataset#and, #or, and #invert will not raise errors for no existing
filter.
* Dataset#select_more becomes an alias for #select_append.
* Dataset#select and #from will not longer consider a hash argument as
an alias specification. You will have to use
`DB.extension :hash_aliases` to get the previous behavior.
* Database#dataset and Dataset.new will not take an options hash.
* Database#transaction :disconnect=>:retry option will be removed.
* Calling Dataset#add_graph_aliases before #graph or #set_graph_aliases
will raise an Error.
* Datasets will have a frozen options hash by default.
* Dataset#set_overrides and #set_defaults will move to the
set_overrides extension.
* Sequel.empty_array_handle_nulls will be removed. To get the
empty_array_handle_nulls = false behavior, you will have to
use `DB.extension :empty_array_ignore_nulls`.
* The second argument to Dataset #union, #intersect, and #except must
be an options hash if it is given.
* The fourth argument to Dataset #join_table must be an options
hash if it is given.
* Using a mismatched number of placeholders and arguments in a
placeholder literal string will raise an error.
* Dataset#graph_each will move to the graph_each extension.
* Database#default_schema will be removed.
* Dataset#[]= will be moved to the sequel_3_dataset_methods
extension.
* Dataset#insert_multiple will be moved to the
sequel_3_dataset_methods extension.
* Dataset#set will be moved to the sequel_3_dataset_methods
extension.
* Dataset#to_csv will be moved to the sequel_3_dataset_methods
extension.
* Dataset#db= and #opts= setters will be moved to the
sequel_3_dataset_methods extension.
* Dataset#qualify_to and #qualify_to_first_source will be moved to
the sequel_3_dataset_methods extension.
* Remove default methods that raise Sequel::NotImplemented:
Database#connect, #execute, #foreign_key_list, #indexes, #tables,
and #views, and Dataset#fetch_rows.
* Sequel::SQL::Expression#to_s will be removed.
* All Dataset methods in Dataset::PUBLIC_APPEND_METHODS except for
#literal, #quote_identifier, and #quote_schema_table will be
removed.
* All Dataset methods in Dataset::PRIVATE_APPEND_METHODS will
be removed.
* Sequel k_require, ts_require, tsk_require, and
check_requiring_thread will be removed.
* Dataset.def_append_methods will be removed.
* Dataset#table_ref_append will be removed.
* Sequel.virtual_row_instance_eval accessor will be removed.
* Database#reset_schema_utility_dataset will be removed.
== Adapter Behavior Changes
* The Database#do method will be removed from the ado, db2, dbi,
informix, odbc, openbase, and oracle adapters.
* The jdbc adapter will raise an error when parsing the schema
for a table if it detects results for the same table name in
multiple schemas.
* The Database#query method will be removed from the informix
adapter.
* Dataset#lock on PostgreSQL will check the given lock mode.
* Sequel will check the client_min_messages setting before
use on PostgreSQL.
* Prepared statement placeholders on PostgreSQL will no longer
support implicit casting via :$x__type.
== Extension Behavior Changes
* The following extensions will no longer make global changes to
the Database and Dataset classes: null_dataset, pagination,
pretty_table, query, schema_caching, schema_dumper,
select_remove, and to_dot. These will be changed to
Database/Dataset specific extensions.
* The pg_auto_parameterize and pg_statement_cache extensions will
be removed.
* Sequel::Dataset.introspect_all_columns will be removed from the
columns_introspection extension.
* PGRangeOp#starts_before and #ends_after will be removed from the
pg_range_ops extension.
== Model Behavior Changes
* Model#initialize will accept only one argument.
* The after_initialize hook will be moved to a plugin.
* Move blacklist-based security methods (#set_except, #update_except,
.set_restricted_columns) to a plugin.
* The :eager_loader and :eager_grapher association option procs will
always be passed a hash.
* Model string column setters will consider array and hash input to
be invalid.
* Remove save taking multiple arguments for the columns to save.
Add Model#save :columns option for saving specific columns.
* Don't automatically choose a reciprocal association with a condition
or block.
* Don't automatically set up reciprocal associations if multiple ones
match.
* Model::Errors#[] will no longer modify the receiver. If you want
autovivification, use the active_model plugin.
* Model.set_primary_key will not longer accept composite keys as
multiple arguments.
* The correlated_subquery eager limit strategy will be removed.
* The following Model class dataset methods will be removed: print,
each_page, paginate, set, add_graph_aliases, insert_multiple, query,
set_overrides, set_defaults, to_csv.
* The Model.{destroy,delete,update} class dataset methods will be
moved to the scissors plugin.
* Model#pk_or_nil will be removed.
* Model#set_values will no longer be called directly by any Sequel
code, and overriding it is deprecated. It will be removed in Sequel
4.1.
* Model.cache_anonymous_models accessor will move to Sequel module.
* Model::InstanceMethods.class_attr_overridable and
.class_attr_reader will be removed.
* The :one_to_one option check for one_to_many associations will
be removed.
== Plugin Behavior Changes
* Public dataset methods will no longer have class methods
automatically added.
* The validates_not_string validation will be removed from the
validation_class_methods and validation_helpers plugin.
* In the json_serializer plugin, the to_json :root=>true option
means :root=>:collection instead of :root=>:both.
* In the json_serializer plugin, the to_json :naked option will
default to true, and there will not be way to add the JSON.create_id
automatically.
* In the json_serializer plugin, from_json will no longer automatically
delete the JSON.create_id key from the input hash.
* The #to_json and #to_xml :all_columns and :all_associations options
in the json_serializer and xml_serializer plugins will be removed.
* The Model.json_create method will be removed from the
json_serializer plugin.
* The validates_type validation will raise validation errors for nil
if :allow_nil=>true is not used.
* auto_validate_presence_columns will be removed from the
auto_validations plugin
* The identity_map plugin will be removed.
== Internal Changes
* The sequel_core.rb and sequel_model.rb files will be removed.
* Dataset#{quote_identifiers,identifier_output_method,
identifier_input_method} will assume Database implements the
methods.
= Forwards Compatibility
Not all changes planned in Sequel 4 have deprecation warnings.
The following changes will be made in Sequel 4 but do not have
deprecation warnings in 3.48.0:
* The threaded connection pools will default to
:connection_handling=>:queue. You can manually set
:connection_handling=>:stack to get the current behavior.
* Dataset#join_table will default to :qualify=>:deep. You can
manually set :qualify=>:symbol to get the current behavior. This
can be set at a global level by overriding
Dataset#default_join_table_qualification.
* Model.raise_on_typecast_failure will default to false. Set this to
true to get the current behavior of raising typecast errors in the
setter methods.
* Model#save will no longer call Model#_refresh or Model#set_values
internally after an insert. Manually refreshes will be treated
differently than after creation refreshes in Sequel 4.
* On SQLite, integer_booleans will be true by default. Set this to
false to get the current behavior of 't' for true and 'f' for false.
* On SQLite, use_timestamp_timezones will be false by default. Set
this to true to get the current behavior with timezone information
in timestamps.
* The default value for most option hash arguments will be an empty
frozen hash. If you are overriding methods and modifying option
hashes, fix your code.
* The defaults_setter plugin will work in a lazy manner instead of
an eager manner. If you must have the values hash contain defaults
for new objects (instead of just getting defaults from getter
methods), you'll need to fork the current plugin.
* Model#set_all will allow setting the primary key columns.
* The many_to_one_pk_lookup plugin will be integrated into the
default associations support.
* The association_autoreloading plugin will be integrated into the
default associations support.
* Plugins will extend the class with ClassMethods before including
InstanceMethods in the class.
* Dataset#get, #select_map, and #select_order_map will automatically
add aliases for unaliased expressions if given a single expression.
* Database#tables and #views on PostgreSQL will check against
the current schemas in the search path.
* Sequel::SQL::SQLArray alias for ValueList will be removed.
* Sequel::SQL::NoBooleanInputMethods will be removed.
* Sequel::NotImplemented will be removed.
* Sequel::Model::EMPTY_INSTANCE_VARIABLES will be removed.
* Sequel will no longer provide a default database for the adapter or
integration specs.
= New Features
* You can now choose which Errors class to use on a per model basis
by overriding Model#errors_class.
* The following Database methods have been added to check for support:
supports_index_parsing?, supports_foreign_key_parsing?,
support_table_listing?, supports_view_listing?.
* The pg_hstore_ops extension now integrates with the pg_array,
pg_hstore, and pg_array_ops extensions, allowing you to pass in
arrays and hashes to be treated as PGArrays and HStores, and
returning ArrayOps for PostgreSQL functions/operators that
return arrays.
* Sequel.object_to_json and Sequel.json_parser_error_class
have been added and all internal json usage uses them, so you
can now override these methods if you want to use an alternative
json library with Sequel.
* The association_proxies plugin now accepts a block allowing the
user control over which methods are proxied to the dataset or
the cached array of instances. You can base the decision on
where to send the method using a variety of factors including
the method name, the method arguments, the state of the current
instance, or the related association. Here's an example of a
simple case just depending on the name of the method;
Model.plugin :association_proxies do |opts|
[:find, :where, :create].include?(opts[:method])
end
If the block returns true, the method is sent to the dataset,
otherwise it is sent to the array of associated objects.
* The auto_validations plugin now accepts a :not_null=>:presence
option, for doing a presence validation instead of a not_null
validation. This is useful for databases with NOT NULL
constraints where you also want to disallow empty strings.
* The auto_validations plugin now validates against explicit nil
values in NOT NULL columns that have defaults.
* The constraint_validations plugin now reflects validations, using
Model.constraint_validation_reflections.
Model.constraint_validation_reflections[:column]
# => [[:presence, {}],
# [:max_length, {:argument=>255, :message=>'just too long'}]]
* The constraint_validations plugin can now be set to pass specific
validations options to the validation_helpers plugin. This can be
useful if using the auto_validations plugin with this plugin to
avoid duplicate error messages for nil values:
Model.plugin :constraint_validations,
:validates_options=>{:presence=>{:allow_nil=>true}}
* The named_timezones extension can now be loaded as a database
extension, which allows for automatic conversions of string
timezones:
DB.extension :named_timezones
DB.timezone = 'America/Los_Angeles'
* Offsets are now emulated by Microsoft Access using a combination
of reverse orders and total counts. This is slow, especially on
large datasets, but probably better than having no support at all.
It is also possible to use the same code to support Microsoft
SQL Server 2000, but as Sequel does not support that (minimum
supported version is 2005), you have to do it manually:
Sequel.require
'adapters/utils/emulate_offset_with_reverse_and_count'
DB.extend_datasets Sequel::EmulateOffsetWithReverseAndCount
= Other Improvements
* Dataset#clone is now faster.
* Database methods that create datasets (fetch, from, select, get)
are now faster.
* Model.with_pk and .with_pk! are now faster.
* Dataset#or now just clones if given an empty argument, similar
to Dataset#where.
* Sequel now correctly frees statements after using them in the
ibmdb adapter. Previously, they weren't freed until GC, which
could result in errors if all available handles are in use.
* Dataset creation is now faster on Microsoft SQL Server.
* The mediumint and mediumtext types are now recognized on MySQL.
* The ado adapter now handles disconnecting an already disconnected
connection.
* The auto_validations plugin now works on databases that don't
support index parsing. However, it will not set up automatic
uniqueness validations on such databases.
* The validation_helpers is more strict in some cases when checking
for nil values, using a specific nil check instead of general
falsely check.
* The table inheritance plugins now correctly handle usage of
set_dataset in a subclass.
* The bin/sequel command line tool now has specs.
= Backwards Compatibility
* Sequel now uses aliases for many internal Dataset#get calls, such
as those used by table_exists? and max.
* Sequel now no longer uses class variables internally. Instead,
instance variables of the Sequel::Database class are used.
* Sequel now sets up the identifier mangling methods on Database
initialization instead of on first use.
* The private Database#adapter_initialize method has been added for
per adapter configuration. All internal adapters have been switched
to use this method instead of overridding initialize, and all
external adapters should as well. This makes sure that Database
instances are not added to Sequel::DATABASES until they have been
completely initialized.
* Virtual row blocks no longer convert their return values to an array.
Among other things, this means that having a virtual row block return
a hash works as expected.
* The private Dataset#hash_key_symbol method now only takes a single
argument.
* Database#constraint_validations in the constraint_validations plugin
now returns raw hash rows, instead of arrays of validation method
call arguments.
* Dataset#count now uses a lowercase count function in the SQL.
* Passing a non-String or Hash as the first argument to an adapter
method (e.g. Sequel.postgres(1)) now raises an error. Before, this
used
to work on some adapters that implicitly converted the database
name to a string.
* The stats and dcov rake tasks were removed.
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/.