lib/uni/public_info.rb in uni-0.0.5 vs lib/uni/public_info.rb in uni-0.0.6
- old
+ new
@@ -6,11 +6,11 @@
SITUACIONY = [ "TITULADO", "BACHILLER", "EGRESADO"]
module Uni
SITUACION = SITUACIONX + SITUACIONY
@x, @y = {}, {}
@base = Mechanize.new
- # Inicializa las constantes @x y @y
+ # Inicializa las constantes @x y @y, para el uso de #fast_uni
def self.initialize
(1900..2014).each do |n|
tmp, v, ans = n, 2123, 0
4.times do
ans += (tmp%10)*(v%10)
@@ -25,34 +25,35 @@
ans += (tmp%10)*(v%10)
v /= 10
tmp /= 10
end
@y[n] = ans
+ "Ahora puedes usar #fast_uni"
end
end
- # Obtiene letra de codigo (mas rapido que la implementacion #codigo_uni)
+ # Obtiene la letra del codigo (mas rapido que la implementacion #codigo_uni)
# @see #codigo_uni
- # @param n [Fixnum] Un objeto Fixnum
- # @return [String] El codigo con su respectiva letra
+ # @param n [Fixnum] Un objeto Fixnum # 20072531
+ # @return [String] El codigo con su respectiva letra # 20072531G
def self.fast_uni n
n.to_s + (65 + (@x[n/10000] + @y[n%10000])%11).chr
end
# Obtiene letra de codigo
# @see #fast_uni
- # @param n [Fixnum] Un objeto Fixnum
- # @return [String] El codigo con su respectiva letra
+ # @param n [Fixnum] Un objeto Fixnum # 20072531
+ # @return [String] El codigo con su respectiva letra # 20072531G
def self.codigo_uni n
codigo = n.to_s
v, ans = 21234567, 0
8.times do
ans += (n%10)*(v%10)
v /= 10
n /= 10
end
codigo + (65 + ans%11).chr
end
- # Obtiene informacion publica de un alumno
- # @param codigo [String] Un objeto String, que representa el codigo de un estudiante
+ # Obtiene informacion publica de un alumno # faculta, especialidad, pic:url, ciclo_relativo, etc
+ # @param codigo [String] Un objeto String, que representa el codigo de un estudiante # 20072531G
# @return [Hash] Informacion publica obtenida de la Orce
def self.data codigo
agent = @base
cod = codigo.upcase
\ No newline at end of file