class Arel::Visitors::Oracle

Private Instance Methods

visit_SexyScopes_Arel_Nodes_RegexpMatches(o, arg = nil) click to toggle source
# File lib/arel/visitors_extensions.rb, line 71
def visit_SexyScopes_Arel_Nodes_RegexpMatches(o, arg = nil)
  regexp = o.right
  flags = regexp.casefold? ? 'i' : 'c'
  flags << 'm' if regexp.options & Regexp::MULTILINE == Regexp::MULTILINE
  if reduce_visitor?
    arg << 'REGEXP_LIKE('
    visit o.left, arg
    arg << COMMA
    visit regexp.source, arg
    arg << COMMA
    visit flags, arg
    arg << ')'
  else
    "REGEXP_LIKE(#{sexy_scopes_visit o.left, arg}, #{visit regexp.source}, #{visit flags})"
  end
end