piotr-galas / pesel

Pesel class to check PESEL number and get information about its owner

Home Page:http://rubygems.org/gems/pesel

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Pesel
=====

This gem provides the Pesel class to check the PESEL number
and get information about its owner.

PESEL (Polish Powszechny Elektroniczny System Ewidencji Ludności,
Universal Electronic System for Registration of the Population)
is the national identification number used in Poland since 1979.

The PESEL number is mandatory for all permanent residents of Poland
and for temporary residents living in Poland for over 2 months.
Applicants for Polish citizenship must request a PESEL number together
with their passport application.

[http://en.wikipedia.org/wiki/PESEL]

Interesting information about PESEL (in Polish language):
http://wipos.p.lodz.pl/zylla/ut/pesel.html

If you are looking for the Pesel as a plugin:
http://github.com/macuk/pesel-plugin

Installation
============

gem install pesel

Example
=======

Standalone class:

  require 'pesel'

  pesel = Pesel.new('75120804355')
  pesel.valid?      # true
  pesel.birth_date  # Date object with '1975-12-08' date
  pesel.female?     # false
  pesel.male?       # true
  pesel.gender      # :male
  pesel.number      # '75120804355'

  pesel = Pesel.new('00000000000')
  pesel.valid?      # false
  pesel.birth_date  # raises Pesel::NumberInvalid exception
  pesel.female?     # raises Pesel::NumberInvalid exception
  pesel.male?       # raises Pesel::NumberInvalid exception
  pesel.gender      # raises Pesel::NumberInvalid exception
  pesel.number      # raises Pesel::NumberInvalid exception

ActiveRecord:

  class Person < ActiveRecord::Base
    validate :check_pesel

    private
      def check_pesel
        p = Pesel.new(pesel)
        errors[:pesel] << 'Invalid PESEL number' unless p.valid?
      end
  end


Copyright (c) 2009-2010 Piotr Macuk, released under the MIT license

About

Pesel class to check PESEL number and get information about its owner

http://rubygems.org/gems/pesel


Languages

Language:Ruby 100.0%