class RegexGenerator::Target
Public Class Methods
new(target)
click to toggle source
@param target [String, Integer, Float, Hash] target string or hash with
named targets
# File lib/regex_generator/target.rb, line 5 def initialize(target) @target = target end
Public Instance Methods
escape(keys: false)
click to toggle source
Escapes values
@option keys [true, false] returns Hash with escaped values when true @return [String, Array, Hash]
# File lib/regex_generator/target.rb, line 40 def escape(keys: false) return Regexp.escape to_s if kind_of? String return to_s.values.map { |v| Regexp.escape v } unless keys to_s.each_with_object({}) do |(key, value), result| result[key] = Regexp.escape value end end
keys_equal?(other_target)
click to toggle source
Compares keys (for strings always true)
@param other_target [Target] @ return [true, false]
# File lib/regex_generator/target.rb, line 53 def keys_equal?(other_target) return false unless to_s.class.eql?(other_target.to_s.class) kind_of?(Hash) ? to_s.keys.eql?(other_target.to_s.keys) : true end
kind_of?(type)
click to toggle source
Checks type of the target's string representation
@param type [Class] @return [true, false]
# File lib/regex_generator/target.rb, line 32 def kind_of?(type) to_s.kind_of? type end
present?(text)
click to toggle source
@param text [String] which should contains the target @return [true, false]
# File lib/regex_generator/target.rb, line 11 def present?(text) return to_s.values.all? { |t| text[t] } if kind_of? Hash !text[to_s].nil? end
to_s()
click to toggle source
Converts target to string (or values to strings if target is a Hash)
@return [String, Hash]
# File lib/regex_generator/target.rb, line 20 def to_s return @target.to_s unless @target.kind_of? Hash @target.each_with_object({}) do |(key, value), result| result[key] = value.to_s end end