Sha256: bcc3d03dde35a716897a5a405a4c85b112ec65532322b5fea7323a0465778d32
Contents?: true
Size: 1.69 KB
Versions: 3
Compression:
Stored size: 1.69 KB
Contents
# frozen_string_literal: true class Result def find(filter) @alterations << "find(#{filter})" case filter.class.to_s when "Array" find_when_array(filter) when "String" || "Integer" @content.select! { |i| i.include?(filter.to_s) } when "Regexp" @content.select! { |i| filter.match(i) } end self end alias_method :grep, :find alias_method :grep!, :find alias_method :find!, :find def first @alterations << "first" @content = [@content.first] self end def not_find(filter) @alterations << "not_find(#{filter})" return self if @content.size.zero? case filter.class.to_s when "Array" filter.each { |i| not_find(i.to_s) } when "String" || "Integer" @content.reject! { |i| i.include?(filter.to_s) } when "Regexp" @content.reject! { |i| filter.match(i) } end self end alias_method :grep_v, :not_find def since(filter) @alterations << "since(#{filter})" return self if @content.size.zero? if filter.instance_of? String flag = false @content.select! do |i| flag = true if i.include?(filter.to_s) flag end end self end def last @alterations << "last" @content = [@content.last] self end def until(filter) @alterations << "until(#{filter})" return self if @content.size.zero? if filter.instance_of? String flag = true @content.select! do |i| flag = false if i.include?(filter.to_s) flag end end self end private def find_when_array(filter) @content.select! do |line| flag = false filter.each { |i| flag ||= line.include?(i) } flag end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
teuton-2.9.2 | lib/teuton/case/result/ext_filter.rb |
teuton-2.9.1 | lib/teuton/case/result/ext_filter.rb |
teuton-2.9.0 | lib/teuton/case/result/ext_filter.rb |