Sha256: 298c904ed1ffac4bb43fa18d8268dfc1254af20fdef65e75153cd4e57ba39d4a

Contents?: true

Size: 396 Bytes

Versions: 4

Compression:

Stored size: 396 Bytes

Contents

module Dewey
  module Utils #:nodoc:
    # Perform string escaping for Atom slugs
    def slug(string)
      string.chars.to_a.map do |char|
        decimal = char.unpack('U').join('').to_i
        if decimal < 32 || decimal > 126 || decimal == 37
          char = "%#{char.unpack('H2').join('%').upcase}"
        end

        char
      end.join('')
    end

    module_function :slug
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
dewey-0.2.10 lib/dewey/utils.rb
dewey-0.2.9 lib/dewey/utils.rb
dewey-0.2.8 lib/dewey/utils.rb
dewey-0.2.7 lib/dewey/utils.rb