Class: CSVDecision::Matchers::Guard Private
- Defined in:
- lib/csv_decision/matchers/guard.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Match cell against a column symbol guard expression - e.g., >:column.present? or :column == 100.0.
Class Method Summary collapse
-
.matches?(cell) ⇒ false, CSVDecision::Proc
private
Determine if the input cell string is recognised by this Matcher.
- .regexp_match(symbol, value, hash) ⇒ Object private
- .symbol_function(symbol, method, hash) ⇒ Object private
Instance Method Summary collapse
-
#matches?(cell) ⇒ false, CSVDecision::Proc
private
Returns false if this cell is not a match; otherwise returns the
CSVDecision::Procobject indicating if this is a constant or some type of function. -
#outs? ⇒ Boolean
private
Return true if this matcher applies to output cells, false otherwise.
Methods inherited from Matcher
Constructor Details
This class inherits a constructor from CSVDecision::Matchers::Matcher
Class Method Details
.matches?(cell) ⇒ false, CSVDecision::Proc
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Determine if the input cell string is recognised by this Matcher.
129 130 131 132 133 134 |
# File 'lib/csv_decision/matchers/guard.rb', line 129 def self.matches?(cell) proc = symbol_proc(cell) return proc if proc symbol_guard(cell) end |
.regexp_match(symbol, value, hash) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
50 51 52 53 |
# File 'lib/csv_decision/matchers/guard.rb', line 50 def self.regexp_match(symbol, value, hash) value.is_a?(String) && hash[symbol].is_a?(String) && Matchers.regexp(value).match(hash[symbol]) end |
.symbol_function(symbol, method, hash) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
46 47 48 |
# File 'lib/csv_decision/matchers/guard.rb', line 46 def self.symbol_function(symbol, method, hash) hash[symbol].respond_to?(method) && hash[symbol].send(method) end |
Instance Method Details
#matches?(cell) ⇒ false, CSVDecision::Proc
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns false if this cell is not a match; otherwise returns the CSVDecision::Proc object indicating if this is a constant or some type of function.
138 139 140 |
# File 'lib/csv_decision/matchers/guard.rb', line 138 def matches?(cell) Guard.matches?(cell) end |
#outs? ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Return true if this matcher applies to output cells, false otherwise.
143 144 145 |
# File 'lib/csv_decision/matchers/guard.rb', line 143 def outs? true end |