diff --git a/Gemfile b/Gemfile index 4a05f85..15066c4 100644 --- a/Gemfile +++ b/Gemfile @@ -1,3 +1,4 @@ source "https://rubygems.org" gem "rspec" +gem "pry" diff --git a/app.rb b/app.rb index e0ec741..cd59756 100644 --- a/app.rb +++ b/app.rb @@ -4,6 +4,7 @@ require_relative 'pathway_logic' require_relative 'models/pathway' require_relative 'pathway_writer' +require 'pry' def generate_all_domains(all_domains_ordered, domain) all_grades = Domain.new(domain).all_grades_in_domain(all_domains_ordered) @@ -41,4 +42,15 @@ def generate_learning_paths_file(test_data_file, domain_order_file, results_file generate_learning_paths_file('data/student_tests.csv', 'data/domain_order.csv', 'data/student_pathways.csv') +# Method to generate learning pathway objects for Rails/UI portion of interview +# def generate_learning_paths_objects(test_data_file, domain_order_file) +# test_data = TestParser.parse_tests(test_data_file) +# all_domains_ordered = DomainParser.parse_domains(domain_order_file) + +# generated_pathways = build_pathway(test_data, all_domains_ordered) +# create_pathways(test_data, generated_pathways) +# end + +# generate_learning_paths_objects('data/student_tests.csv', 'data/domain_order.csv') + \ No newline at end of file diff --git a/data/domain_order.csv b/data/domain_order.csv index c2d7f84..ee0c680 100644 --- a/data/domain_order.csv +++ b/data/domain_order.csv @@ -1,3 +1,4 @@ +PK,RF,RL K,RF,RL,RI 1,RF,RL,RI 2,RF,RI,RL,L @@ -5,3 +6,4 @@ K,RF,RL,RI 4,RI,RL,L 5,RI,RL,L 6,RI,RL + diff --git a/data/student_pathways.csv b/data/student_pathways.csv index e69de29..8410eea 100644 --- a/data/student_pathways.csv +++ b/data/student_pathways.csv @@ -0,0 +1,31 @@ +Albin Stanton,K.RI,1.RI,2.RF,2.RI,3.RF +Erik Purdy,1.RL,1.RI,2.RI,2.RL,2.L +Aimee Cole,K.RF,K.RL,1.RF,1.RL,1.RI +Frederik Schulist,2.RF,3.RF,4.RI,4.RL,4.L +Addie Green,K.RI,1.RI,2.RF,2.RI,2.L +Missouri Auer,1.RI,2.RI,2.RL,2.L,3.RL +Christopher Hayes,K.RI,1.RI,2.RI,2.L,3.RI +Enos Jacobi,K.RF,K.RL,1.RF,1.RL,2.RF +Conrad Nitzsche,K.RI,1.RF,1.RI,2.RF,2.RI +Jazlyn Wisoky,3.RL,3.L,4.RL,4.L,5.RI +Kelley Emard,K.RF,K.RI,1.RF,1.RI,2.RF +Dell Kozey,K.RF,1.RF,2.RF,2.L,3.RF +Kraig Goldner,2.RI,3.RI,3.L,4.RI,4.RL +Stephon Ondricka,2.L,3.RI,3.L,4.RI,4.L +Tracey Lind,K.RF,1.RF,1.RL,2.RF,2.RL +Elissa Schinner,1.RI,2.RI,3.RL,3.RI,4.RI +Orpha Bartoletti,1.RF,2.RF,2.RI,2.L,3.RF +Timmothy Torphy,K.RF,K.RI,1.RF,1.RL,1.RI +Maia Torphy,K.RF,1.RF,2.RF,2.RI,2.L +Danyka Pfeffer,2.L,3.L,4.L,5.RI,5.RL +Leo O'Connell,K.RL,K.RI,1.RL,1.RI,2.RI +Scotty Kovacek,K.RF,1.RF,2.RF,2.L,3.RF +Cameron Prohaska,2.RF,2.RI,3.RF,3.RI,4.RI +Angus Torp,2.RF,2.L,3.RF,3.L,4.RL +Douglas Feil,1.RF,1.RL,1.RI,2.RF,2.RI +Maxime Runte,K.RL,1.RL,2.RF,2.RL,2.L +Mortimer Denesik,K.RF,K.RL,1.RF,1.RL,2.RF +Bennett Muller,2.L,3.L,4.L,5.RI,5.RL +Ayana Runolfsson,K.RF,1.RF,2.RF,2.RL,2.L +Angelina Runolfsson,K.RF,1.RF,1.RI,2.RF,2.RI +Bob Smith,PK.RF,K.RF,1.RF,1.RI,2.RF diff --git a/data/student_tests.csv b/data/student_tests.csv index 107498c..683cbfe 100644 --- a/data/student_tests.csv +++ b/data/student_tests.csv @@ -29,3 +29,4 @@ Mortimer Denesik,K,K,2,3 Bennett Muller,5,5,5,1 Ayana Runolfsson,K,2,5,2 Angelina Runolfsson,K,3,1,1 +Bob Smith,PK,3,1,PK diff --git a/pathway_logic.rb b/pathway_logic.rb index 4fbce29..48726ff 100644 --- a/pathway_logic.rb +++ b/pathway_logic.rb @@ -1,10 +1,13 @@ module PathwayLogic def self.find_possible_domains(domain, domain_array) + # read domain_order.csv to create an array of all grade levels + grades_for_espark = ["PK", "K", "1", "2", "3", "4", "5", "6"] + grades_in_domain = domain_array.map {|domain| domain[0] } + if !domain_array.include?(domain) - grade = domain.split(".")[0].to_i - domain = domain.split(".")[-1] - last_grade_in_domain = domain_array.last.split(".")[0].to_i - if grade <= last_grade_in_domain + grade = domain.split(".")[0] + last_grade_in_domain = grades_in_domain.last.split(".")[0] + if grades_for_espark.index(grade) <= grades_for_espark.index(last_grade_in_domain) domain_array end else @@ -16,3 +19,4 @@ def self.produce_pathway(ordered_domains_array, all_domains_for_pathway) (ordered_domains_array & all_domains_for_pathway).first(5) end end + diff --git a/spec/domain_spec.rb b/spec/domain_spec.rb index 41575cf..f2b70f7 100644 --- a/spec/domain_spec.rb +++ b/spec/domain_spec.rb @@ -1,4 +1,4 @@ -require_relative '../domain' +require_relative '../models/domain' require_relative '../domain_parser' describe Domain do diff --git a/spec/pathway_spec.rb b/spec/pathway_spec.rb index d783538..3216e35 100644 --- a/spec/pathway_spec.rb +++ b/spec/pathway_spec.rb @@ -1,4 +1,4 @@ -require_relative '../pathway' +require_relative '../models/pathway' describe 'Pathway' do diff --git a/test_parser.rb b/test_parser.rb index 6e7e666..ccef8d5 100644 --- a/test_parser.rb +++ b/test_parser.rb @@ -10,7 +10,7 @@ def self.parse_tests(filename) data_without_headers.map do |student| student_name = student.shift student_domains = student.map.with_index do |grade, index| - "#{grade}.#{test_domains[index]}" + "#{grade.strip}.#{test_domains[index]}" end student_data.store(student_name, student_domains) end