class Srx::Data::LanguageRule::Rule

SRX <rule> element

Attributes

after_break[R]

@return [Regexp,nil]

before_break[R]

@return [Regexp,nil]

Public Class Methods

new(xml) click to toggle source
Calls superclass method Srx::XmlWrapper::new
# File lib/srx/data.rb, line 127
def initialize(xml)
  super(xml)

  # Eagerly load everything for this class because before_break and
  # after_break can be legitimately nil, so lazy loading gets ugly.

  @break = @xml['break'].then { |brk| brk.nil? || brk == 'yes' }

  @before_break = xpath(:beforebreak).first&.text.then do |pattern|
    IcuRegex.compile(pattern) if pattern
  end

  @after_break = xpath(:afterbreak).first&.text.then do |pattern|
    IcuRegex.compile(pattern) if pattern
  end
end

Public Instance Methods

break?() click to toggle source
# File lib/srx/data.rb, line 144
def break?
  @break
end
inspect() click to toggle source
# File lib/srx/data.rb, line 148
def inspect
  "Rule[break=#{break?},before=#{before_break},after=#{after_break}]"
end