Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def analize(file)
- @file = file[file.rindex('/')+1,file.length].strip
- @file = @file[0,@file.rindex('_') || @file.size]
- @file = @file.tr!(' ','') || @file
- #initializing validation
- @resp=[]
- unless @file.length == 17
- @resp = [false,@file,"Error en longitud de nombre de archivo"]
- else
- @resp = [false,@file,%(Error en Idioma #{@file[0,1]})] if @file[0,1].match(
- Regexp.compile("^["+Language.find(:all).collect { |l| l.key}.join+"]")) == nil
- @resp = [false,@file,%(Error en Metodo #{@file[1,2]})] if @file[1,2].match(
- Regexp.compile("("+Course.find(:all).collect { |c| c.key}.join("|")+")")) == nil
- @resp = [false,@file,%(Error en Material #{@file[3,2]})] if @file[3,2].match(
- Regexp.compile("("+Material.find(:all).collect {|m| m.key}.join("|")+")")) == nil
- @resp = [false,@file,%(Error en Grado #{@file[5,3]})] if @file[5,3].match(
- Regexp.compile("("+Grade.find(:all).collect {|g| g.key}.join("|")+")")) == nil
- @resp = [false,@file,%(Error en Unidad #{@file[8,2]})] if @file[8,2].match(
- Regexp.compile("("+Unit.find(:all).collect {|u| u.key}.join("|") +")")) == nil
- @resp = [false,@file,%(Error en Version #{@file[10,2]})] if @file[10,2].match(/V[1-9]{1,2}/) == nil
- @resp = [false,@file,%(Error en Orden #{@file[13,1]})] if @file[13,1].match(/[a-z]/) == nil
- @resp = [false,@file,%(Error en Materia #{@file[14,3]})] if @file[14,3].match(
- Regexp.compile("("+Subject.find(:all).collect {|s| s.key}.join("|")+")")) == nil
- end
- if @resp.empty?
- @vals =[true, #valid file name
- @file, #file
- @file[0,1], #language
- @file[1,2], #method
- @file[3,2], #material
- @file[5,3], #grade
- @file[8,2], #unit
- @file[10,2], #version
- @file[13,1], #order
- @file[14,3]] #subject
- else
- @resp
- end
- end
Add Comment
Please, Sign In to add comment