module Secrett11tto::StringExt

Public Instance Methods

secretify(range = 10..40) click to toggle source
# File lib/secrett11tto.rb, line 35
def secretify(range = 10..40)
  str, klasses, parts = [], [], []

  copy = self.chars
  while copy.present?
    parts.push copy.slice!(0...(rand(2)+1)).join
  end

  parts.each do |part|
    tag   = Utils.tag
    klass = Utils.klass_name

    str << ["<#{tag} class=#{klass}>" + Utils::ALL_VOCABULARY.sample(range.to_a.sample).join + "</#{tag}>", ERB::Util.h(part)].shuffle.join
    klasses << klass
  end

  [
    "<style>",
      klasses.collect{|e| Utils.css_klass(e)}.join,
    "</style>",
    str.join,
  ].join.html_safe
end