DanaDanger-data_transport 0.3.2 → 0.3.3

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.
@@ -82,9 +82,11 @@ module DataTransport
82
82
  end
83
83
  raise(TypeError, "class must descend from ActiveRecord::Base") unless is_active_record
84
84
  # If ignore_errors is true, make sure we're connected to a MySQL
85
- # database.
85
+ # database. We don't use is_a? because if the MySQL adapter isn't
86
+ # loaded, referencing its class throws a NameError.
86
87
  if @ignore_errors
87
- unless @class.connection.is_a?(::ActiveRecord::ConnectionAdapters::MysqlAdapter)
88
+ unless @class.connection.class.to_s ==
89
+ "ActiveRecord::ConnectionAdapters::MysqlAdapter"
88
90
  raise ArgumentError, "ignore_errors can only be used with a MySQL database"
89
91
  end
90
92
  end
@@ -92,15 +94,17 @@ module DataTransport
92
94
  unless options.empty?
93
95
  raise(ArgumentError, "unrecognized options: `#{options.join("', `")}'")
94
96
  end
95
- # Figure out how much data the database can handle in one query.
97
+ # Figure out how much data the database can handle in one query. See
98
+ # the note above in the ignore_errors compatibility check about using
99
+ # stringified class names.
96
100
  if @max_sql_length
97
101
  @max_sql_length = @max_sql_length.to_i
98
102
  else
99
- case @class.connection
100
- when ::ActiveRecord::ConnectionAdapters::MysqlAdapter
103
+ case @class.connection.class.to_s
104
+ when "ActiveRecord::ConnectionAdapters::MysqlAdapter"
101
105
  rows = @class.connection.select_all("SHOW VARIABLES LIKE 'max_allowed_packet'")
102
106
  @max_sql_length = rows.first["Value"].to_i - 512
103
- when ::ActiveRecord::ConnectionAdapters::SQLiteAdapter
107
+ when /\AActiveRecord::ConnectionAdapters::SQLite3?Adapter\Z/
104
108
  @max_sql_length = 1_000_000
105
109
  else
106
110
  @max_sql_length = 16_777_216
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: DanaDanger-data_transport
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dana Danger
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-04-08 00:00:00 -07:00
12
+ date: 2009-05-16 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15