Class: Konjak::TranslationUnit
- Inherits:
-
StructuralElement
- Object
- Delegator
- Element
- StructuralElement
- Konjak::TranslationUnit
- Defined in:
- lib/konjak/translation_unit.rb
Constant Summary collapse
- TAG_NAME =
'tu'
Instance Method Summary collapse
-
#can_contain?(element) ⇒ Boolean
methods.
-
#complete? ⇒ Boolean
Logically, a complete translation-memory database will contain at least two <tuv> elements in each translation unit.
- #has_translation?(src_lang, target_lang) ⇒ Boolean
- #has_variant_lang?(lang) ⇒ Boolean
- #src_lang?(src_lang) ⇒ Boolean
-
#valid? ⇒ Boolean
FIXME Zero, one or more <note>, or <prop> elements in any order, followed by One or more <tuv> elements.
- #variant(lang) ⇒ Object
-
#variants ⇒ Object
childrens.
Methods inherited from Element
Constructor Details
This class inherits a constructor from Konjak::Element
Instance Method Details
#can_contain?(element) ⇒ Boolean
methods
29 30 31 |
# File 'lib/konjak/translation_unit.rb', line 29 def can_contain?(element) [Note, Property, TranslationUnitVariant].any? {|c| c === element } end |
#complete? ⇒ Boolean
Logically, a complete translation-memory database will contain at least two <tuv> elements in each translation unit.
34 35 36 |
# File 'lib/konjak/translation_unit.rb', line 34 def complete? variants.count >= 2 end |
#has_translation?(src_lang, target_lang) ⇒ Boolean
38 39 40 |
# File 'lib/konjak/translation_unit.rb', line 38 def has_translation?(src_lang, target_lang) src_lang?(src_lang) && has_variant_lang?(src_lang) && has_variant_lang?(target_lang) end |
#has_variant_lang?(lang) ⇒ Boolean
46 47 48 |
# File 'lib/konjak/translation_unit.rb', line 46 def has_variant_lang?(lang) variants.any? {|v| v.xml_lang == lang } end |
#src_lang?(src_lang) ⇒ Boolean
42 43 44 |
# File 'lib/konjak/translation_unit.rb', line 42 def src_lang?(src_lang) !self.src_lang || self.src_lang == '*all*' || self.src_lang == src_lang end |
#valid? ⇒ Boolean
FIXME
Zero, one or more <note>, or <prop> elements in any order, followed by
One or more <tuv> elements.
57 58 59 |
# File 'lib/konjak/translation_unit.rb', line 57 def valid? variants.count >= 1 end |
#variant(lang) ⇒ Object
50 51 52 |
# File 'lib/konjak/translation_unit.rb', line 50 def variant(lang) variants.detect {|v| v.xml_lang == lang } end |
#variants ⇒ Object
childrens
23 24 25 |
# File 'lib/konjak/translation_unit.rb', line 23 def variants children.select {|c| c.name == TranslationUnitVariant::TAG_NAME }.map! {|tuv| TranslationUnitVariant.new(tuv) } end |