Module: Inform::Matchers

Included in:
Object
Defined in:
lib/story_teller/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

Returns:

  • (Boolean)


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

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

Returns:

  • (Boolean)


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

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

Returns:

  • (Boolean)


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

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

Returns:

  • (Boolean)


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

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