Sha256: 9563bcfe56e9386ab22f0e033fb8fb08a13724a0a6b4942d5b042b73c3a172ae

Contents?: true

Size: 610 Bytes

Versions: 8

Compression:

Stored size: 610 Bytes

Contents

module ToPass::Converters
  class RemoveRepetition
    class << self
      # remove duplicate characters by replacing them with the character and the count
      def remove_repetition(string)
        string.split('').inject('') do |memo, char|
          if memo.size <= 1
            memo << char
          else
            last = memo[memo.size-1].chr
            if last == char
              memo << '2'
            elsif last =~ /\d/ and memo[memo.size-2].chr == char
              memo.succ
            else
              memo << char
            end
          end
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
to_pass-1.0.1 data/to_pass/converters/remove_repetition.rb
to_pass-1.0.0 data/to_pass/converters/remove_repetition.rb
to_pass-0.9.0 data/to_pass/converters/remove_repetition.rb
to_pass-0.8.0 data/to_pass/converters/remove_repetition.rb
to_pass-0.7.0 data/to_pass/converters/remove_repetition.rb
to_pass-0.6.0 data/to_pass/converters/remove_repetition.rb
to_pass-0.5.2 lib/to_pass/converters/remove_repetition.rb
to_pass-0.5.0 lib/to_pass/converters/remove_repetition.rb