Guest User

Untitled

a guest
Jun 21st, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.97 KB | None | 0 0
  1. def analize(file)
  2. @file = file[file.rindex('/')+1,file.length].strip
  3. @file = @file[0,@file.rindex('_') || @file.size]
  4. @file = @file.tr!(' ','') || @file
  5.  
  6. #initializing validation
  7. @resp=[]
  8. unless @file.length == 17
  9. @resp = [false,@file,"Error en longitud de nombre de archivo"]
  10. else
  11. @resp = [false,@file,%(Error en Idioma #{@file[0,1]})] if @file[0,1].match(
  12. Regexp.compile("^["+Language.find(:all).collect { |l| l.key}.join+"]")) == nil
  13. @resp = [false,@file,%(Error en Metodo #{@file[1,2]})] if @file[1,2].match(
  14. Regexp.compile("("+Course.find(:all).collect { |c| c.key}.join("|")+")")) == nil
  15. @resp = [false,@file,%(Error en Material #{@file[3,2]})] if @file[3,2].match(
  16. Regexp.compile("("+Material.find(:all).collect {|m| m.key}.join("|")+")")) == nil
  17. @resp = [false,@file,%(Error en Grado #{@file[5,3]})] if @file[5,3].match(
  18. Regexp.compile("("+Grade.find(:all).collect {|g| g.key}.join("|")+")")) == nil
  19. @resp = [false,@file,%(Error en Unidad #{@file[8,2]})] if @file[8,2].match(
  20. Regexp.compile("("+Unit.find(:all).collect {|u| u.key}.join("|") +")")) == nil
  21. @resp = [false,@file,%(Error en Version #{@file[10,2]})] if @file[10,2].match(/V[1-9]{1,2}/) == nil
  22. @resp = [false,@file,%(Error en Orden #{@file[13,1]})] if @file[13,1].match(/[a-z]/) == nil
  23. @resp = [false,@file,%(Error en Materia #{@file[14,3]})] if @file[14,3].match(
  24. Regexp.compile("("+Subject.find(:all).collect {|s| s.key}.join("|")+")")) == nil
  25. end
  26.  
  27. if @resp.empty?
  28. @vals =[true, #valid file name
  29. @file, #file
  30. @file[0,1], #language
  31. @file[1,2], #method
  32. @file[3,2], #material
  33. @file[5,3], #grade
  34. @file[8,2], #unit
  35. @file[10,2], #version
  36. @file[13,1], #order
  37. @file[14,3]] #subject
  38. else
  39. @resp
  40. end
  41. end
Add Comment
Please, Sign In to add comment