ferencd@0: # ferencd@0: # Class to handle all kind of utilities ferencd@0: # ferencd@0: ferencd@0: class Utils ferencd@0: ferencd@0: # Generates a random string from a set of easily readable characters ferencd@0: def Utils.random_string(size = 6) ferencd@0: charset = %w{0 1 2 3 4 5 6 7 9 A C D E F G H J K M N P Q R T V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z} ferencd@0: (0...size).map{ charset.to_a[rand(charset.size)] }.join ferencd@0: end ferencd@0: ferencd@0: # Generates a random string from a set of easily readable characters ferencd@0: def Utils.random_hex_string(size = 6) ferencd@0: charset = %w{0 1 2 3 4 5 6 7 9 A C D E F} ferencd@0: (0...size).map{ charset.to_a[rand(charset.size)] }.join ferencd@0: end ferencd@0: ferencd@0: # ferencd@0: # Splits the cells ferencd@0: # ferencd@0: def Utils.split(text, width) ferencd@0: pattern = / ferencd@0: ( # capturing group for split ferencd@0: .{#{width-2},}? # at least width-2 characters, but not more than needed ferencd@0: \} # closing curly brace ferencd@0: [,\]] # a comma or a closing bracket ferencd@0: ) ferencd@0: /x # free spacing mode ferencd@0: text.split(pattern).reject(&:empty?).join("\n") ferencd@0: end ferencd@0: ferencd@0: end