Sha256: 67e1040d5d838cef215e143b10b726fe46a6453f0dedda8dc45fd52bd89608f5

Contents?: true

Size: 520 Bytes

Versions: 1

Compression:

Stored size: 520 Bytes

Contents

require 'md5'

module ToPass::Converters
  class ExpandBelow
    class << self
      def expand_below(string, rules, threshold)
        if string.length < threshold.to_i
          digest = "#{MD5.hexdigest(string)}#{MD5.hexdigest(string).reverse}"
          extension = 1.upto(digest.length / 2).map do |nr|
            char = digest[(nr*2-2),2].to_i(16).chr
            char if char =~ /\w/i
          end.compact.join

          string + extension
        else
          string
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
to_pass-0.5.0 lib/to_pass/converters/expand_below.rb