Fix up case statement syntax for ruby 1.9 compatibility
[rails.git] / app / models / language.rb
index a33c76081c786ae594fe86cffea721da6406e812..7bb0b6e771a7e692aad56464ec969758524cab27 100644 (file)
@@ -3,6 +3,22 @@ class Language < ActiveRecord::Base
 
   has_many :diary_entries, :foreign_key => 'language'
 
+  def self.load(file)
+    Language.transaction do
+      YAML.load(File.read(file)).each do |k,v|
+        begin
+          Language.update(k, :english_name => v["english"], :native_name => v["native"])
+        rescue ActiveRecord::RecordNotFound
+          Language.create do |l|
+            l.code = k
+            l.english_name = v["english"]
+            l.native_name = v["native"]
+          end
+        end
+      end
+    end
+  end
+
   def name
     name = english_name
     name += " (#{native_name})" unless native_name.nil?