Module: Inform::Matchers

Included in:
Object
Defined in:
lib/runtime/helpers.rb

Overview

String helper methods mostly for use by Inform::ParseNoun rubocop: disable Metrics/AbcSize rubocop: disable Metrics/CyclomaticComplexity rubocop: disable Metrics/MethodLength rubocop: disable Metrics/PerceivedComplexity

Instance Method Summary collapse

Instance Method Details

#matches?(obj, regexp = /^#{self}/i, delimeter = /[,\s]+/, str = self) ⇒ Boolean



55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/runtime/helpers.rb', line 55

def matches?(obj, regexp = /^#{self}/i, delimeter = /[,\s]+/, str = self)
  return false if str.nil? || (str.respond_to?(:empty?) && str.empty?)
  return false unless obj.object?
  k = obj.name
  k = k.split(delimeter) if k.respond_to?(:split)
  return str if k.respond_to?(:grep) && !k.grep(regexp).empty?
  return str if k.respond_to?(:match?) && k.match?(regexp)
  false
rescue StandardError => e
  log.error e
  false
end

#matches_any_exactly?(obj, regexp = /^#{self}$/i, delimeter = /[,\s]+/, str = self) ⇒ Boolean



82
83
84
85
86
87
88
89
90
91
92
# File 'lib/runtime/helpers.rb', line 82

def matches_any_exactly?(obj, regexp = /^#{self}$/i, delimeter = /[,\s]+/, str = self)
  return false if str.nil? || (str.respond_to?(:empty?) && str.empty?)
  return false unless obj.object?
  k = obj.name
  k = k.split(delimeter) if k.respond_to?(:split)
  return str if k.respond_to?(:grep) && !k.grep(regexp).empty?
  false
rescue StandardError => e
  log.error e
  false
end

#matches_exactly?(obj, regexp = /^#{self}$/i, delimeter = /[,\s]+/, str = self) ⇒ Boolean



68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/runtime/helpers.rb', line 68

def matches_exactly?(obj, regexp = /^#{self}$/i, delimeter = /[,\s]+/, str = self)
  return false if str.nil? || (str.respond_to?(:empty?) && str.empty?)
  return false unless obj.object?
  k = obj.name
  return str if k.respond_to?(:match?) && k.match?(regexp)
  k = k.split(delimeter) if k.respond_to?(:split)
  return str if k.respond_to?(:grep) && !k.grep(regexp).empty?
  return str if k.respond_to?(:match?) && k.match?(regexp)
  false
rescue StandardError => e
  log.error e
  false
end

#matches_last_exactly?(obj, regexp = /^#{self}$/i, delimeter = /[,\s]+/, str = self) ⇒ Boolean



94
95
96
97
98
99
100
101
102
103
104
105
# File 'lib/runtime/helpers.rb', line 94

def matches_last_exactly?(obj, regexp = /^#{self}$/i, delimeter = /[,\s]+/, str = self)
  return false if str.nil? || (str.respond_to?(:empty?) && str.empty?)
  return false unless obj.object?
  k = obj.name
  k = k.split(delimeter) if k.respond_to?(:split)
  k = k.last if k.respond_to?(:last)
  return str if k.respond_to?(:match?) && k.match?(regexp)
  false
rescue StandardError => e
  log.error e
  false
end