app/models/tr8n/translation_key_lock.rb in tr8n-3.2.1 vs app/models/tr8n/translation_key_lock.rb in tr8n-3.2.2
- old
+ new
@@ -1,59 +1,81 @@
-#--
-# Copyright (c) 2010-2012 Michael Berkovich, tr8n.net
-#
-# Permission is hereby granted, free of charge, to any person obtaining
-# a copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish,
-# distribute, sublicense, and/or sell copies of the Software, and to
-# permit persons to whom the Software is furnished to do so, subject to
-# the following conditions:
-#
-# The above copyright notice and this permission notice shall be
-# included in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#++
-
-class Tr8n::TranslationKeyLock < ActiveRecord::Base
- set_table_name :tr8n_translation_key_locks
- after_save :clear_cache
- after_destroy :clear_cache
-
- belongs_to :translation_key, :class_name => "Tr8n::TranslationKey"
- belongs_to :language, :class_name => "Tr8n::Language"
- belongs_to :translator, :class_name => "Tr8n::Translator"
-
- alias :key :translation_key
-
- def self.find_or_create(translation_key, language)
- lock = where("translation_key_id = ? and language_id = ?", translation_key.id, language.id).first
- lock || create(:translation_key => translation_key, :language => language)
- end
-
- def self.for(translation_key, language)
- Tr8n::Cache.fetch("translation_key_lock_#{language.locale}_#{translation_key.key}") do
- find_or_create(translation_key, language)
- end
- end
-
- def lock!(translator = Tr8n::Config.current_translator)
- update_attributes(:locked => true, :translator => translator)
- translator.locked_translation_key!(translation_key, language)
- end
-
- def unlock!(translator = Tr8n::Config.current_translator)
- update_attributes(:locked => false, :translator => translator)
- translator.unlocked_translation_key!(translation_key, language)
- end
-
- def clear_cache
- Tr8n::Cache.delete("translation_key_lock_#{language.locale}_#{translation_key.key}")
- end
-end
+#--
+# Copyright (c) 2010-2012 Michael Berkovich, tr8n.net
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be
+# included in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#++
+#
+#-- Tr8n::TranslationKeyLock Schema Information
+#
+# Table name: tr8n_translation_key_locks
+#
+# id INTEGER not null, primary key
+# translation_key_id integer not null
+# language_id integer not null
+# translator_id integer
+# locked boolean
+# created_at datetime
+# updated_at datetime
+#
+# Indexes
+#
+# tr8n_locks_key_id_lang_id (translation_key_id, language_id)
+#
+#++
+
+class Tr8n::TranslationKeyLock < ActiveRecord::Base
+ set_table_name :tr8n_translation_key_locks
+
+ attr_accessible :translation_key_id, :language_id, :translator_id, :locked
+ attr_accessible :language, :translator, :translation_key
+
+ after_save :clear_cache
+ after_destroy :clear_cache
+
+ belongs_to :translation_key, :class_name => "Tr8n::TranslationKey"
+ belongs_to :language, :class_name => "Tr8n::Language"
+ belongs_to :translator, :class_name => "Tr8n::Translator"
+
+ alias :key :translation_key
+
+ def self.find_or_create(translation_key, language)
+ lock = where("translation_key_id = ? and language_id = ?", translation_key.id, language.id).first
+ lock || create(:translation_key => translation_key, :language => language)
+ end
+
+ def self.for(translation_key, language)
+ Tr8n::Cache.fetch("translation_key_lock_#{language.locale}_#{translation_key.key}") do
+ find_or_create(translation_key, language)
+ end
+ end
+
+ def lock!(translator = Tr8n::Config.current_translator)
+ update_attributes(:locked => true, :translator => translator)
+ translator.locked_translation_key!(translation_key, language)
+ end
+
+ def unlock!(translator = Tr8n::Config.current_translator)
+ update_attributes(:locked => false, :translator => translator)
+ translator.unlocked_translation_key!(translation_key, language)
+ end
+
+ def clear_cache
+ Tr8n::Cache.delete("translation_key_lock_#{language.locale}_#{translation_key.key}")
+ end
+end