sequel 0.0.14 → 0.0.15

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,7 +1,13 @@
1
- *0.0.14*
1
+ *0.0.15*
2
+
3
+ * Improved Dataset#insert_sql to allow arrays as well as hashes.
4
+
5
+ * Database#drop_table now accepts a list of table names.
2
6
 
3
7
  * Added Model#id to to return the id column.
4
8
 
9
+ *0.0.14*
10
+
5
11
  * Fixed Model's attribute accessors (hopefully for the last time).
6
12
 
7
13
  * Changed Model.db and Model.db= to allow different databases for different model classes.
data/Rakefile CHANGED
@@ -6,7 +6,7 @@ require 'fileutils'
6
6
  include FileUtils
7
7
 
8
8
  NAME = "sequel"
9
- VERS = "0.0.14"
9
+ VERS = "0.0.15"
10
10
  CLEAN.include ['**/.*.sw?', 'pkg/*', '.config', 'doc/*', 'coverage/*']
11
11
  RDOC_OPTS = ['--quiet', '--title', "Sequel: Concise ORM for Ruby",
12
12
  "--opname", "index.html",
@@ -86,8 +86,10 @@ module Sequel
86
86
  end
87
87
 
88
88
  # Drops a table.
89
- def drop_table(name)
90
- execute Schema.drop_table_sql(name)
89
+ def drop_table(*names)
90
+ transaction do
91
+ names.each {|n| execute Schema.drop_table_sql(n)}
92
+ end
91
93
  end
92
94
 
93
95
  # Performs a brute-force check for the existance of a table. This method is
@@ -305,25 +305,25 @@ module Sequel
305
305
  alias_method :sql, :select_sql
306
306
 
307
307
  INSERT = "INSERT INTO %s (%s) VALUES (%s)".freeze
308
+ INSERT_VALUES = "INSERT INTO %s VALUES (%s)".freeze
308
309
  INSERT_EMPTY = "INSERT INTO %s DEFAULT VALUES".freeze
309
310
 
310
- def insert_sql(values, opts = nil)
311
- opts = opts ? @opts.merge(opts) : @opts
312
-
313
- if values.nil? || values.empty?
314
- INSERT_EMPTY % opts[:from]
315
- else
311
+ def insert_sql(*values)
312
+ if values.empty?
313
+ INSERT_EMPTY % @opts[:from]
314
+ elsif (values.size == 1) && values[0].is_a?(Hash)
316
315
  field_list = []
317
316
  value_list = []
318
- values.each do |k, v|
317
+ values[0].each do |k, v|
319
318
  field_list << k
320
319
  value_list << literal(v)
321
320
  end
322
-
323
321
  INSERT % [
324
- opts[:from],
322
+ @opts[:from],
325
323
  field_list.join(COMMA_SEPARATOR),
326
324
  value_list.join(COMMA_SEPARATOR)]
325
+ else
326
+ INSERT_VALUES % [@opts[:from], literal(values)]
327
327
  end
328
328
  end
329
329
 
data/lib/sequel/model.rb CHANGED
@@ -239,6 +239,8 @@ module Sequel
239
239
  end
240
240
  end
241
241
 
242
+ def id; @values[:id]; end
243
+
242
244
  def save
243
245
  if @pkey
244
246
  model.dataset.filter(primary_key => @pkey).update(@values)
data/lib/sequel/mysql.rb CHANGED
@@ -61,8 +61,8 @@ module Sequel
61
61
  query_single_value(count_sql(opts)).to_i
62
62
  end
63
63
 
64
- def insert(values = nil, opts = nil)
65
- @db.execute_insert(insert_sql(values, opts))
64
+ def insert(*values)
65
+ @db.execute_insert(insert_sql(*values))
66
66
  end
67
67
 
68
68
  def update(values, opts = nil)
@@ -303,8 +303,8 @@ module Sequel
303
303
  query_single_value(count_sql(opts)).to_i
304
304
  end
305
305
 
306
- def insert(values = nil, opts = nil)
307
- @db.execute_insert(insert_sql(values, opts), @opts[:from])
306
+ def insert(*values)
307
+ @db.execute_insert(insert_sql(*values), @opts[:from])
308
308
  end
309
309
 
310
310
  def update(values, opts = nil)
data/lib/sequel/sqlite.rb CHANGED
@@ -80,9 +80,9 @@ module Sequel
80
80
  @db.single_value(count_sql(opts)).to_i
81
81
  end
82
82
 
83
- def insert(values = nil, opts = nil)
83
+ def insert(*values)
84
84
  @db.synchronize do
85
- @db.execute_insert insert_sql(values, opts)
85
+ @db.execute_insert insert_sql(*values)
86
86
  end
87
87
  end
88
88
 
metadata CHANGED
@@ -1,10 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.2
2
+ rubygems_version: 0.9.0
3
3
  specification_version: 1
4
4
  name: sequel
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.0.14
7
- date: 2007-03-28 00:00:00 +02:00
6
+ version: 0.0.15
7
+ date: 2007-03-30 00:00:00 +02:00
8
8
  summary: Concise ORM for Ruby.
9
9
  require_paths:
10
10
  - lib
@@ -33,18 +33,19 @@ files:
33
33
  - README
34
34
  - Rakefile
35
35
  - bin/sequel
36
+ - doc/rdoc
36
37
  - lib/sequel
37
38
  - lib/sequel.rb
39
+ - lib/sequel/connection_pool.rb
40
+ - lib/sequel/core_ext.rb
41
+ - lib/sequel/database.rb
38
42
  - lib/sequel/dataset.rb
39
43
  - lib/sequel/model.rb
44
+ - lib/sequel/mysql.rb
40
45
  - lib/sequel/postgres.rb
46
+ - lib/sequel/pretty_table.rb
41
47
  - lib/sequel/schema.rb
42
48
  - lib/sequel/sqlite.rb
43
- - lib/sequel/connection_pool.rb
44
- - lib/sequel/database.rb
45
- - lib/sequel/core_ext.rb
46
- - lib/sequel/mysql.rb
47
- - lib/sequel/pretty_table.rb
48
49
  - CHANGELOG
49
50
  test_files: []
50
51