Class: Konjak::Segment

Inherits:
StructuralElement show all
Includes:
GTT, Mem
Defined in:
lib/konjak/segment.rb,
lib/konjak/segment/gtt.rb

Overview

container

Defined Under Namespace

Modules: GTT

Constant Summary collapse

TAG_NAME =
'seg'
WHITE_SPACE_PATTERN_TEXT =
'\s'
POSSESSIVE_QUALIFIER =
'++'

Instance Method Summary collapse

Methods included from GTT

#compile_gtt_html_pattern, #extract_gtt_tags_from, #interpolate_gtt_tags

Methods inherited from Element

#__getobj__, #initialize

Constructor Details

This class inherits a constructor from Konjak::Element

Instance Method Details

#can_contain?(element) ⇒ Boolean

methods

Returns:

  • (Boolean)


20
21
22
# File 'lib/konjak/segment.rb', line 20

def can_contain?(element)
  [String, BeginPairedTag, EndPairedTag, IsolatedTag, Placeholder, Highlight].any? {|c| c === element }
end

#compile_patternObject



24
25
26
27
28
29
# File 'lib/konjak/segment.rb', line 24

def compile_pattern
  regexp = Regexp.escape(text)
  regexp.gsub!(/(?<!^)\\\s/)     { WHITE_SPACE_PATTERN_TEXT }
  regexp.gsub!(/(?<!^)(?:\\s)+/) {|s| s + POSSESSIVE_QUALIFIER }
  Regexp.compile(regexp)
end

#textObject

children



15
16
17
# File 'lib/konjak/segment.rb', line 15

def text
  super
end

#translation_unitObject



31
32
33
# File 'lib/konjak/segment.rb', line 31

def translation_unit
  TranslationUnit.new(translation_unit_variant.parent)
end

#translation_unit_variantObject



35
36
37
# File 'lib/konjak/segment.rb', line 35

def translation_unit_variant
  TranslationUnitVariant.new(parent)
end