Sha256: 2f7a2b65d4847f4a9f2bdd0abdde3266aa5de729ae7636c679b001b8be191c62

Contents?: true

Size: 1.24 KB

Versions: 10

Compression:

Stored size: 1.24 KB

Contents

module ActiveSupport
  module Inflector
    # Replaces special characters in a string so that it may be used as part of a 'pretty' URL.
    # Transliterates all russian characters in string first, then passes it to ActiveSupport Inflector.
    #
    # Заменяет все спецсимволы в строке так, что результат может использоваться как часть "красивого" URL.
    # От стандартного ActiveSupport Inflector отличается тем, что сначала производится транслитерация
    # букв русского алфавита.
    #
    # ==== Examples
    #
    # class Person
    #   def to_param
    #     "#{id}-#{name.parameterize}"
    #   end
    # end
    #
    # @person = Person.find(1)
    # # => #<Person id: 1, name: "Дональд Кнут">
    #
    # <%= link_to(@person.name, person_path %>
    # # => <a href="/person/1-donald-knut">Дональд Кнут</a>
    def parameterize_with_russian(string, sep = '-')
      parameterize_without_russian(Russian::transliterate(string), sep)
    end
    alias_method :parameterize_without_russian, :parameterize
    alias_method :parameterize, :parameterize_with_russian
  end
end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
yaroslav-russian-0.0.9 lib/russian/active_support_ext/parameterize.rb
yaroslav-russian-0.1.0 lib/russian/active_support_ext/parameterize.rb
yaroslav-russian-0.1.1 lib/russian/active_support_ext/parameterize.rb
yaroslav-russian-0.1.2 lib/russian/active_support_ext/parameterize.rb
yaroslav-russian-0.1.3 lib/russian/active_support_ext/parameterize.rb
russian-0.1.3 lib/russian/active_support_ext/parameterize.rb
russian-0.1.1 lib/russian/active_support_ext/parameterize.rb
russian-0.1.0 lib/russian/active_support_ext/parameterize.rb
russian-0.0.9 lib/russian/active_support_ext/parameterize.rb
russian-0.1.2 lib/russian/active_support_ext/parameterize.rb