class Regextest::Front::Range::TRange
Attributes
length[R]
offset[R]
Public Class Methods
new(letter_begin, letter_end = nil)
click to toggle source
Constructor
# File lib/regextest/front/range.rb, line 15 def initialize(letter_begin, letter_end = nil) TstLog("TRange: #{letter_begin}-#{letter_end}") @options = nil @begin = parse_letter(letter_begin) if letter_end @end = parse_letter(letter_end) else @end = @begin end @offset = -1 # not used in this class @length = -1 # not used in this class end
Public Instance Methods
enumerate()
click to toggle source
enumerate
# File lib/regextest/front/range.rb, line 46 def enumerate (@begin..@end).to_a end
json()
click to toggle source
transform to json format (using codepoints of Unicode)
# File lib/regextest/front/range.rb, line 57 def json @@id += 1 if @options charset = @options[:reg_options].charset else charset = "d" end "{" + "\"type\": \"LEX_RANGE\", " + "\"id\": \"G#{@@id}\", " + "\"begin\": #{@begin}, " + "\"end\": #{@end}, " + "\"charset\": \"#{charset}\"" + "}" end
parse_letter(letter)
click to toggle source
parse letter
# File lib/regextest/front/range.rb, line 32 def parse_letter(letter) case letter when String letter.unpack("U*")[0] when Integer letter when Regextest::Front::Letter::TLetter eval('"' + letter.value + '"').unpack("U*")[0] else raise "Internal error. invalid letter class #{letter}" end end
set_options(options)
click to toggle source
set options
# File lib/regextest/front/range.rb, line 51 def set_options(options) TstLog("Range set_options: #{options[:reg_options].inspect}") @options = options end