class Regextest::Front::Selectable::Selectable
Attributes
candidates[R]
length[R]
offset[R]
Public Class Methods
new(value)
click to toggle source
Constructor
# File lib/regextest/front/selectable.rb, line 17 def initialize(value) TstLog("Selectlable: #{value}") @reg_options = @@parse_options[:reg_options] case value when Array @candidates = value @offset = value[0].offset @length = value[-1].offset + value[-1].length - value[0].offset else @candidates = [value] @offset = value.offset @length = value.length end end
Public Instance Methods
add(value)
click to toggle source
add selectable sequence
# File lib/regextest/front/selectable.rb, line 33 def add(value) TstLog("Selectlable add: #{value}"); @candidates.push value @length = value.offset - @offset + value.length self end
json()
click to toggle source
transform to json format
# File lib/regextest/front/selectable.rb, line 51 def json @@id += 1 "{" + "\"type\": \"LEX_SELECT\", \"id\": \"S#{@@id}\", " + "\"offset\": #{@offset}, \"length\": #{@length}, " + "\"value\": [" + @candidates.map{|elem| elem.json}.join(",") + "]}" end
set_options(options)
click to toggle source
set options
# File lib/regextest/front/selectable.rb, line 41 def set_options(options) TstLog("Selectlable set_options: #{options[:reg_options].inspect}"); reg_options = (options)?options[:reg_options]:nil @candidates.each do | candidate | candidate.set_options(options) end self end