Class: RegexGenerator::Target

Inherits:
Object
  • Object
show all
Defined in:
lib/regex_generator/target.rb

Instance Method Summary collapse

Constructor Details

#initialize(target) ⇒ Target

Returns a new instance of Target.

Parameters:

  • target (String, Integer, Float, Hash)

    target string or hash with named targets



5
6
7
# File 'lib/regex_generator/target.rb', line 5

def initialize(target)
  @target = target
end

Instance Method Details

#escape(keys: false) ⇒ String, ...

Escapes values

Parameters:

  • keys (Hash) (defaults to: false)

    a customizable set of options

Options Hash (keys:):

  • returns (true, false)

    Hash with escaped values when true

Returns:

  • (String, Array, Hash)


40
41
42
43
44
45
46
47
# 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

#kind_of?(type) ⇒ true, false

Checks type of the target’s string representation

Parameters:

  • type (Class)

Returns:

  • (true, false)


32
33
34
# File 'lib/regex_generator/target.rb', line 32

def kind_of?(type)
  to_s.kind_of? type
end

#present?(text) ⇒ true, false

Parameters:

  • text (String)

    which should contains the target

Returns:

  • (true, false)


11
12
13
14
15
# 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_sString, Hash

Converts target to string (or values to strings if target is a Hash)

Returns:

  • (String, Hash)


20
21
22
23
24
25
26
# 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