class GetDataFromSpec
Public Class Methods
resultat_trie(mot_cle)
click to toggle source
# File lib/check_expect.rb, line 6 def resultat_trie mot_cle datas = recupere_data mot_cle contenu_trie = [] itere_sur_chaque_ligne_des_expects(datas, contenu_trie, mot_cle) clean_result(contenu_trie) end
Private Class Methods
ajoute_path_dans_array(array, element)
click to toggle source
# File lib/check_expect.rb, line 55 def ajoute_path_dans_array(array, element) array << element unless array.include? element end
clean_result(array)
click to toggle source
# File lib/check_expect.rb, line 96 def clean_result(array) resultat_trie = array.map { |a| a.flatten } resultat_trie.each do |a| a.delete_if { |i| i == 'page'} end resultat_trie.delete_if { |a| a.length == 1 } end
itere_sur_chaque_ligne_des_expects(array_initial, array_resultat, mot_cle)
click to toggle source
# File lib/check_expect.rb, line 66 def itere_sur_chaque_ligne_des_expects(array_initial, array_resultat, mot_cle) array_initial.each do |line| contenu = [] contenu << line.first if mot_cle == 'result' recupere_le_contenu_du_resultat_attendu(line, contenu) else recupere_contenu_entre_parenthese(line, contenu) end array_resultat << contenu end end
parcours_recupere_data(specs_content, mot_cle, data_currated )
click to toggle source
# File lib/check_expect.rb, line 44 def parcours_recupere_data(specs_content, mot_cle, data_currated ) specs_content.each do |lines| expect_pour_un_fichier = [] lines.each do |line| ajoute_path_dans_array(expect_pour_un_fichier, lines.first) recupere_contenu_des_expects(line, expect_pour_un_fichier, mot_cle) end data_currated.push(expect_pour_un_fichier) end end
parcours_spec_et_recupere_content()
click to toggle source
# File lib/check_expect.rb, line 27 def parcours_spec_et_recupere_content specs_content = [] Dir.glob(renvoie_le_bon_chemin) do |spec_path| spec_file_content = [] ajoute_path_dans_array(spec_file_content, spec_path) File.foreach(spec_path) do |line| spec_file_content << line.strip end specs_content << spec_file_content end specs_content end
recupere_contenu_des_expects(line, array, mot_cle)
click to toggle source
# File lib/check_expect.rb, line 59 def recupere_contenu_des_expects(line, array, mot_cle) line.split(/\W+/).each do |a| return unless mot_cle.include?(a) array.push(line) end end
recupere_contenu_entre_parenthese(line, array_initial)
click to toggle source
# File lib/check_expect.rb, line 79 def recupere_contenu_entre_parenthese(line, array_initial) line.each do |a| recupere_contenu = [] recupere_contenu << a.scan(/\((.*?)\)/) array_initial << recupere_contenu.first array_initial.delete_if { |s| s.empty? } end end
recupere_data(mot_cle)
click to toggle source
# File lib/check_expect.rb, line 15 def recupere_data mot_cle specs_content = parcours_spec_et_recupere_content if mot_cle == 'result' expect = ['expect'].freeze #mot clé pour choper les expects else expect = [mot_cle].freeze end datas = [] parcours_recupere_data(specs_content, expect, datas) datas end
recupere_le_contenu_du_resultat_attendu(line, array_initial)
click to toggle source
# File lib/check_expect.rb, line 88 def recupere_le_contenu_du_resultat_attendu(line, array_initial) line.each do |a| array_initial << a.scan(/^*have_content(.*)$/) array_initial << a.scan(/^*eq(.*)$/) array_initial.delete_if { |s| s.empty? } end end
renvoie_le_bon_chemin()
click to toggle source
# File lib/check_expect.rb, line 40 def renvoie_le_bon_chemin Dir.exist?("./rails_app/dummy") ? "./rails_app/dummy/spec/**/*.rb" : "./spec/features/**/*.rb" end