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