module ICU::Util::AlternativeNames
For generating SQL queries relating to alternative first or last names.
Public Instance Methods
first_name_like(first, last=nil)
click to toggle source
# File lib/icu_name/util.rb, line 65 def first_name_like(first, last=nil) last = "X" if last.nil? || last =~ /\A\s*\z/ ICU::Name.new(first, last).alternatives(:first).push(first).map do |nam| "first_name LIKE '%#{quote_str(nam)}%'" end.sort.join(" OR ") end
last_name_like(last, first=nil)
click to toggle source
# File lib/icu_name/util.rb, line 58 def last_name_like(last, first=nil) first = "X" if first.nil? || first =~ /\A\s*\z/ ICU::Name.new(first, last).alternatives(:last).push(last).map do |nam| "last_name LIKE '%#{quote_str(nam)}%'" end.sort.join(" OR ") end
Private Instance Methods
quote_str(s)
click to toggle source
Same as Rails version (ActiveRecord::ConnectionAdapters::Quoting).
# File lib/icu_name/util.rb, line 75 def quote_str(s) s.gsub(/\\/, '\&\&').gsub(/'/, "''") end