Class: Tr8n::LanguageCaseValueMap
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Tr8n::LanguageCaseValueMap
- Defined in:
- app/models/tr8n/language_case_value_map.rb
Overview
– Copyright © 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::LanguageCaseValueMap Schema Information
Table name: tr8n_language_case_value_maps
id INTEGER not null, primary key
keyword varchar(255) not null
language_id integer not null
translator_id integer
map text
reported boolean
created_at datetime
updated_at datetime
Indexes
index_tr8n_language_case_value_maps_on_translator_id (translator_id)
index_tr8n_language_case_value_maps_on_keyword_and_language_id (keyword, language_id)
++
Class Method Summary collapse
Instance Method Summary collapse
- #clear_cache ⇒ Object
- #destroy_with_log!(new_translator) ⇒ Object
-
#gender_based? ⇒ Boolean
add a better way to determine the gender dependency.
- #gender_value_for(case_key, gender) ⇒ Object
- #implied_value_for(case_key) ⇒ Object
- #report_with_log!(new_translator) ⇒ Object
- #save_with_log!(new_translator) ⇒ Object
- #value_for(object, case_key) ⇒ Object
Class Method Details
.by_language_and_keyword(language, keyword) ⇒ Object
58 59 60 61 62 |
# File 'app/models/tr8n/language_case_value_map.rb', line 58 def self.by_language_and_keyword(language, keyword) Tr8n::Cache.fetch("language_case_value_map_#{language.id}_#{keyword}") do find_by_language_id_and_keyword_and_reported(language.id, keyword, false) end end |
Instance Method Details
#clear_cache ⇒ Object
120 121 122 |
# File 'app/models/tr8n/language_case_value_map.rb', line 120 def clear_cache Tr8n::Cache.delete("language_case_value_map_#{language.id}_#{keyword}") end |
#destroy_with_log!(new_translator) ⇒ Object
107 108 109 110 111 |
# File 'app/models/tr8n/language_case_value_map.rb', line 107 def destroy_with_log!(new_translator) # new_translator.deleted_language_case_values!(self) destroy end |
#gender_based? ⇒ Boolean
add a better way to determine the gender dependency
65 66 67 68 69 70 71 |
# File 'app/models/tr8n/language_case_value_map.rb', line 65 def gender_based? return false unless map map.each do |key, value| return true if value.is_a?(Hash) end false end |
#gender_value_for(case_key, gender) ⇒ Object
94 95 96 97 98 |
# File 'app/models/tr8n/language_case_value_map.rb', line 94 def gender_value_for(case_key, gender) return unless map return map[case_key] unless map[case_key].is_a?(Hash) map[case_key][gender] end |
#implied_value_for(case_key) ⇒ Object
88 89 90 91 92 |
# File 'app/models/tr8n/language_case_value_map.rb', line 88 def implied_value_for(case_key) return unless map return gender_value_for(case_key, "male") if map[case_key].is_a?(Hash) map[case_key] end |
#report_with_log!(new_translator) ⇒ Object
113 114 115 116 117 118 |
# File 'app/models/tr8n/language_case_value_map.rb', line 113 def report_with_log!(new_translator) # new_translator.reported_language_case_values!(self) update_attributes(:reported => true) self.translator.update_attributes(:reported => true) end |
#save_with_log!(new_translator) ⇒ Object
100 101 102 103 104 105 |
# File 'app/models/tr8n/language_case_value_map.rb', line 100 def save_with_log!(new_translator) # new_translator.updated_language_case_values!(self) self.translator = new_translator save end |
#value_for(object, case_key) ⇒ Object
73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'app/models/tr8n/language_case_value_map.rb', line 73 def value_for(object, case_key) return unless map # male female definition if map[case_key].is_a?(Hash) object_gender = Tr8n::GenderRule.gender_token_value(object) if object_gender == Tr8n::GenderRule.gender_object_value_for("female") return map[case_key]['female'] end return map[case_key]['male'] end map[case_key] end |