Sha256: ef4da4729d2f7fd84c83316f3a1f820e1b747fa24c6ae74cd6297da3e7ef29c5
Contents?: true
Size: 1.27 KB
Versions: 3
Compression:
Stored size: 1.27 KB
Contents
# frozen_string_literal: true # Copyright (c) 2008-2013 Michael Dvorkin and contributors. # # Fat Free CRM is freely distributable under the terms of MIT license. # See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php #------------------------------------------------------------------------------ class String alias - delete def n2br strip.gsub("\n", "<br />") end def wrap(prefix, suffix = prefix) prefix + self + suffix end def digitize gsub(/[^\d]/, "") # "$100,000".digitize # => 100000 end def to_url match?(/^https?:\/\//) ? self : "http://#{self}" end def true? self == "true" end def false? self == "false" end # Generates all permutations for first and last name, based on the order of parts # A query with 4 words will generate 6 permutations def name_permutations parts = split(" ") Array.new((parts.size - 1)) do |i| # ["A", "B", "C", "D"] => [["A B C", "D"], ["A B", "C D"], ["A", "B C D"]] [parts[(0..i)].join(" "), parts[(i + 1)..-1].join(" ")] end.each_with_object([]) do |perm, arr| # Search both [first, last] and [last, first] # e.g. for every ["A B C", "D"], also include ["D", "A B C"] arr << perm arr << perm.reverse arr end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
fat_free_crm-0.18.2 | lib/fat_free_crm/core_ext/string.rb |
fat_free_crm-0.18.1 | lib/fat_free_crm/core_ext/string.rb |
fat_free_crm-0.18.0 | lib/fat_free_crm/core_ext/string.rb |