Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A library that wraps Glib2 Unicode manipulation methods to speed up ActiveSupport::Multibyte
Ruby C
Branch: master
Pull request Compare This branch is 3 commits ahead, 8 commits behind Manfred:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
ext/glib
lib
test
.gitignore
LICENSE
README
Rakefile
unichars.gemspec

README

-%{ Unichars }%-

Unichars is a simple wrapper around Glib2. It was originally written to speed up ActiveSupport::Multibyte on Ruby 1.8 but it can probably used for other things as well.


--^^--^^- INSTALLING -^^--^^--

INSTALLING ON MAC OS X

You have to install Glib2. Either with MacPorts:

$ port install glib2

or Homebrew:

$ brew install glib

After that you can install the gem:

$ gem install unichars

INSTALLING ON DEBIAN

$ apt-get install libglib2.0-dev
$ gem install unichars


--^^--^^- EXAMPLES -^^--^^--

FOR USE WITH RAILS

In config/environment.rb add:

  config.gem 'unichars'

Add config/initializers/unichars.rb:

  ActiveSupport::Multibyte.proxy_class = Unichars

After that you can just use Unichars through the character proxy on String:

  '¡Ay Dios mío!'.chars.reverse

FOR USE WITH ACTIVESUPPORT WITHOUT RAILS

Note that you probably want to load ActiveSupport before loading Unichars because Unichars subclasses itself from ActiveSupport::Multibyte::Chars when you do so.

  require 'rubygems' rescue LoadError
  require 'activesupport'
  require 'unichars'
  ActiveSupport::Multibyte.proxy_class = Unichars

After that you can just use Unichars through the character proxy on String:

  '¡Ay Dios mío!'.chars.reverse

FOR USE WITHOUT ACTIVESUPPORT

Yeah, so, ehm. Yeah.

  require 'rubygems' rescue LoadError
  require 'unichars'

After that you can do:

  Unichars.new('¡Ay Dios mío!').reverse

Or maybe:

  class String
    def chars
      Unichars.new(self)
    end
  end
Something went wrong with that request. Please try again.