lib/gm/notepad/table.rb in gm-notepad-0.0.16 vs lib/gm/notepad/table.rb in gm-notepad-0.0.17

- old
+ new

@@ -14,10 +14,12 @@ option :index_entry_prefix_regexp, default: -> { Container.resolve(:config).index_entry_prefix_regexp } def initialize(*args) super @table = {} + @or_less = [] + @or_more = [] set_null_table_column_set! process(lines: lines) end def lookup(index: false, cell: false) @@ -61,16 +63,30 @@ File.open(filename, "a") do |file| file.puts(line) end end + def set_or_less_entry(table_entry) + @or_less = table_entry + end + + def set_or_more_entry(table_entry) + @or_more = table_entry + end + private def lookup_entry_by(index:) begin @table.fetch(index.to_s) rescue KeyError - raise MissingTableEntryError.new(table_name: table_name, index: index.to_s) + if @or_less.include?(index.to_s) + @or_less + elsif @or_more.include?(index.to_s) + @or_more + else + raise MissingTableEntryError.new(table_name: table_name, index: index.to_s) + end end end def lookup_random_entry @table.values[random_index]