Sha256: dc6bf7e892e57d427fc90f54d475774ff098d065288107d98bd1e93ebc6b50a3

Contents?: true

Size: 865 Bytes

Versions: 1

Compression:

Stored size: 865 Bytes

Contents

module Blundersaur
  module Extensions
    module String
      def fat_finger!
        i = rand(self.length)
        chars = Keyboards::Qwerty.keys_near(self[i])
        char = chars[rand(chars.length)]
        self[i..i] = (rand(2) == 1 ? [self[i], char] : [char, self[i]]).pack("cc")
        self
      end

      def fat_finger
        self.dup.fat_finger!
      end

      def stutter!
        i = rand(self.length)
        self[i..i] = self[i..i] * 2
        self
      end

      def stutter
        self.dup.stutter!
      end

      def mistype!
        i = rand(self.length)
        chars = Keyboards::Qwerty.keys_near(self[i])
        char = chars[rand(chars.length)]
        self[i] = char
        self
      end

      def mistype
        self.dup.mistype!
      end
    end
  end
end

String.class_eval do
  include Blundersaur::Extensions::String
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
blundersaur-0.0.0 lib/blundersaur/extensions/string.rb