class Zenlish::Inflect::Substitution
Public Class Methods
new(theOriginal, aPattern, theReplacement)
click to toggle source
Calls superclass method
Zenlish::Inflect::CompositeOExpression::new
# File lib/zenlish/inflect/substitution.rb, line 9 def initialize(theOriginal, aPattern, theReplacement) valid_original = validated_argument(theOriginal) valid_pattern = validated_pattern(aPattern) valid_replac = validated_argument(theReplacement) super([valid_original, valid_pattern, valid_replac]) end
Public Instance Methods
generate(headings, lexeme, values)
click to toggle source
# File lib/zenlish/inflect/substitution.rb, line 16 def generate(headings, lexeme, values) original = children[0].generate(headings, lexeme, values) replacement = children[-1].generate(headings, lexeme, values) original.sub(pattern, replacement) end
pattern()
click to toggle source
# File lib/zenlish/inflect/substitution.rb, line 23 def pattern children[1] end
Private Instance Methods
validated_argument(anArgument)
click to toggle source
# File lib/zenlish/inflect/substitution.rb, line 52 def validated_argument(anArgument) arg = nil if anArgument.kind_of?(String) arg = LiteralAsIs.new(anArgument) elsif anArgument.kind_of?(OutputExpression) arg = anArgument else err_msg = "Expected an OutputExpression, found #{anArgument.inspect}." raise StandardError, err_msg end arg end
validated_original(theOriginal)
click to toggle source
# File lib/zenlish/inflect/substitution.rb, line 29 def validated_original(theOriginal) arg = nil if theOriginal.kind_of?(String) arg = LiteralAsIs.new(theOriginal) elsif theOriginal.kind_of?(OutputExpression) arg = theOriginal else err_msg = "Expected an OutputExpression, found '#{theOriginal.inspect}' instead." raise StandardError, err_msg end arg end
validated_pattern(aPattern)
click to toggle source
# File lib/zenlish/inflect/substitution.rb, line 43 def validated_pattern(aPattern) unless aPattern.kind_of?(Regexp) err_msg = "Expected a Regexp, found #{aPattern.inspect}." raise StandardError, err_msg end aPattern end