sequel 0.0.14 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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