|
@@ -44,8 +44,10 @@ module Schild
|
|
|
sleep 5
|
|
|
retry if retries < 50
|
|
|
end
|
|
|
+
|
|
|
@db.extension(:freeze_datasets)
|
|
|
@db.extension(:connection_validator)
|
|
|
+ @db.extension(:null_dataset)
|
|
|
|
|
|
# gibt die Datenbank zurück
|
|
|
def self.db
|
|
@@ -324,17 +326,14 @@ module SchildErweitert
|
|
|
# Es wird ein Null-Objekt erstellt, das einen Standardwert zurückgibt.
|
|
|
def create_null_object(klass, column)
|
|
|
k = Sequel::Database::SCHEMA_TYPE_CLASSES[klass.db_schema[column][:type]]
|
|
|
- if k.class == Array
|
|
|
- # Sequel stellt :datetime als [Time, DateTime] dar, deswegen die Abfrage nach Array
|
|
|
- # Schild verwendet Time Objekte, wir machen das auch
|
|
|
- Time.new(1899)
|
|
|
- elsif k == Integer
|
|
|
- 0
|
|
|
- elsif k == Float
|
|
|
- 0.0
|
|
|
- else
|
|
|
- # alle anderen types werden als Klasse zurückgegeben
|
|
|
- k.new
|
|
|
+ case
|
|
|
+ # Sequel stellt :datetime als [Time, DateTime] dar, deswegen die Abfrage nach Array
|
|
|
+ # Schild verwendet Time Objekte, wir machen das auch
|
|
|
+ when k.class == Array then Time.new(1899)
|
|
|
+ when k == Integer then 0
|
|
|
+ when k == Float then 0.0
|
|
|
+ # alle anderen types werden als Klasse zurückgegeben
|
|
|
+ else k.new
|
|
|
end
|
|
|
end
|
|
|
end
|