Browse Source

case statt if

burningTyger 8 years ago
parent
commit
3ad0617348
1 changed files with 10 additions and 11 deletions
  1. 10 11
      lib/schild.rb

+ 10 - 11
lib/schild.rb

@@ -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