From 64e708991ffb8870ba599f9570433041cf3a9dca Mon Sep 17 00:00:00 2001 From: Aaron Wiggins Date: Thu, 9 Jul 2015 08:48:39 -0400 Subject: [PATCH] create experiments in seed. fix table field names --- Gemfile | 2 +- app/assets/javascripts/application.js | 16 +- app/assets/stylesheets/application.css | 8 +- app/assets/stylesheets/experiments.scss | 6 +- app/assets/stylesheets/reset.css | 6 +- app/assets/stylesheets/scaffolds.scss | 2 +- app/controllers/experiments_controller.rb | 6 +- app/controllers/instructions_controller.rb | 2 +- app/models/concept.rb | 11 + app/models/experiment.rb | 2 +- app/models/instruction.rb | 2 +- app/views/experiments/_form.html.erb | 8 +- .../experiments/complete_time_rating.html.erb | 2 +- app/views/experiments/mess_ratings.html.erb | 2 +- app/views/experiments/show.html.erb | 2 +- app/views/instructions/_form.html.erb | 4 +- app/views/instructions/index.html.erb | 4 +- app/views/instructions/index.json.jbuilder | 2 +- app/views/instructions/show.html.erb | 4 +- app/views/instructions/show.json.jbuilder | 2 +- bin/spring | 2 +- config/environments/test.rb | 4 +- config/initializers/devise.rb | 2 +- config/routes.rb | 2 +- .../20150703152549_create_experiments.rb | 3 +- .../20150703205050_create_instructions.rb | 2 +- .../20150704040924_add_name_to_experiment.rb | 5 - .../20150706172648_add_age_to_experiments.rb | 5 - db/migrate/20150708204716_remove_column.rb | 5 - db/schema.rb | 8 +- db/seeds.rb | 279 ++++++++++++++++-- public/404.html | 28 +- public/422.html | 28 +- public/500.html | 28 +- .../instructions_controller_test.rb | 4 +- test/fixtures/instructions.yml | 4 +- test/test_helper.rb | 2 +- 37 files changed, 359 insertions(+), 145 deletions(-) delete mode 100644 db/migrate/20150704040924_add_name_to_experiment.rb delete mode 100644 db/migrate/20150706172648_add_age_to_experiments.rb delete mode 100644 db/migrate/20150708204716_remove_column.rb diff --git a/Gemfile b/Gemfile index 43081f7..153deb3 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,6 @@ source 'https://rubygems.org' -ruby '2.2.1' +ruby '2.2.2' gem 'paperclip' gem 'aws-sdk', '~> 1.6' gem 'ratyrate' diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 67dbd4c..b8798da 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -39,14 +39,14 @@ $(function () { if ($('.experiment').length) { var material = $('.material').html(); - $('.unordered-list-materials').on('click', '.add-material-btn', function (e) { + $('.unorder_numbered-list-materials').on('click', '.add-material-btn', function (e) { e.preventDefault(); e.stopPropagation(); - material = material.replace(/\[[0-9]+\]/g, '[' + $('.unordered-list-materials li').length + ']') - .replace(/_[0-9]+_/g, '_' + $('.unordered-list-materials li').length + '_'); + material = material.replace(/\[[0-9]+\]/g, '[' + $('.unorder_numbered-list-materials li').length + ']') + .replace(/_[0-9]+_/g, '_' + $('.unorder_numbered-list-materials li').length + '_'); - $('.unordered-list-materials').append('
  • ' + material + '
  • ') + $('.unorder_numbered-list-materials').append('
  • ' + material + '
  • ') }) } @@ -58,14 +58,14 @@ $(function () { if ($('.experiment').length) { var instruction = $('.instruction-fields').html(); - $('.unordered-list-instructions').on('click', '.add-instruction-btn', function (e) { + $('.unorder_numbered-list-instructions').on('click', '.add-instruction-btn', function (e) { e.preventDefault(); e.stopPropagation(); - instruction = instruction.replace(/\[[0-9]+\]/g, '[' + $('.unordered-list-instructions li').length + ']') - .replace(/_[0-9]+_/g, '_' + $('.unordered-list-instructions li').length + '_'); + instruction = instruction.replace(/\[[0-9]+\]/g, '[' + $('.unorder_numbered-list-instructions li').length + ']') + .replace(/_[0-9]+_/g, '_' + $('.unorder_numbered-list-instructions li').length + '_'); - $('.unordered-list-instructions').append('
  • ' + instruction + '
  • ') + $('.unorder_numbered-list-instructions').append('
  • ' + instruction + '
  • ') }) } diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index 28bc372..5bad89b 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -58,7 +58,7 @@ form { input { display: inline-block; font-family: 'Raleway', sans-serif; - border: 0.1em solid #323232; + border_number: 0.1em solid #323232; font-size: 1em; margin: 1em 0.5em; outline-color: #DFF5D1; @@ -118,7 +118,7 @@ a { .nav-tab, .new-exp { background-color: #E8E8E8; color: #333; - border: 0; + border_number: 0; padding: 0.5em; font-size: 1em; font-weight: bold; @@ -151,7 +151,7 @@ button { background-color: #E8E8E8; font-family: 'Raleway', sans-serif; color: #333; - border: 0; + border_number: 0; padding: 0.5em; } @@ -159,7 +159,7 @@ button { .new-material { position: relative; - border: 0.07em solid #323232; + border_number: 0.07em solid #323232; float: left; font-size: 1em; margin: 0; diff --git a/app/assets/stylesheets/experiments.scss b/app/assets/stylesheets/experiments.scss index 36cffda..77c3bc1 100644 --- a/app/assets/stylesheets/experiments.scss +++ b/app/assets/stylesheets/experiments.scss @@ -87,14 +87,14 @@ ul#tabs li { padding: 5px 20px; color: #323232; cursor: pointer; - border-bottom: solid 3px #F2F3F4; + border_number-bottom: solid 3px #F2F3F4; } ul#tabs li:hover { background-color: #E8E8E8; - border-bottom: solid 3px #E8E8E8; + border_number-bottom: solid 3px #E8E8E8; } ul#tabs li.active { - border-bottom: solid 3px #323232; + border_number-bottom: solid 3px #323232; transition: all 0.2s ease-in-out; } ul#tab { diff --git a/app/assets/stylesheets/reset.css b/app/assets/stylesheets/reset.css index ed11813..0093b2b 100644 --- a/app/assets/stylesheets/reset.css +++ b/app/assets/stylesheets/reset.css @@ -18,7 +18,7 @@ menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; - border: 0; + border_number: 0; font-size: 100%; font: inherit; vertical-align: baseline; @@ -43,6 +43,6 @@ q:before, q:after { content: none; } table { - border-collapse: collapse; - border-spacing: 0; + border_number-collapse: collapse; + border_number-spacing: 0; } diff --git a/app/assets/stylesheets/scaffolds.scss b/app/assets/stylesheets/scaffolds.scss index 142e410..12ddbd8 100644 --- a/app/assets/stylesheets/scaffolds.scss +++ b/app/assets/stylesheets/scaffolds.scss @@ -49,7 +49,7 @@ #error_explanation { width: 35em; - border: 0.09em solid #323232; + border_number: 0.09em solid #323232; padding: 1em; padding-bottom: 0; margin-bottom: 20px; diff --git a/app/controllers/experiments_controller.rb b/app/controllers/experiments_controller.rb index c6dc769..8b2d079 100644 --- a/app/controllers/experiments_controller.rb +++ b/app/controllers/experiments_controller.rb @@ -1,5 +1,5 @@ class ExperimentsController < ApplicationController - before_filter :authenticate_user!, except: [:index, :show, :vote, :mess_ratings] + before_filter :authenticate_user!, except: [:index, :show, :vote, :mess_ratings, :complete_time_rating] before_action :set_experiment, only: [:show, :edit, :update, :destroy, :vote] # GET /experiments @@ -9,7 +9,7 @@ def index end def mess_ratings - @experiments = Experiment.order_by_mess + @experiments = Experiment.order_number_by_mess end def complete_time_rating @@ -87,7 +87,7 @@ def set_experiment def experiment_params params.require(:experiment).permit(:user_id, :name, :description, :youtube_link, :complete_time, :uploaded_file, materials_attributes: [:id, :experiment_id, :item], - instructions_attributes: [:id, :experiment_id, :information, :order], + instructions_attributes: [:id, :experiment_id, :information, :order_number], experiment_votes: [:id, :value, :experiment_id]) end end diff --git a/app/controllers/instructions_controller.rb b/app/controllers/instructions_controller.rb index 10e4feb..b210766 100644 --- a/app/controllers/instructions_controller.rb +++ b/app/controllers/instructions_controller.rb @@ -68,6 +68,6 @@ def set_instruction # Never trust parameters from the scary internet, only allow the white list through. def instruction_params - params.require(:instruction).permit(:experiment_id, :information, :order) + params.require(:instruction).permit(:experiment_id, :information, :order_number) end end diff --git a/app/models/concept.rb b/app/models/concept.rb index b0dfd4e..4156968 100644 --- a/app/models/concept.rb +++ b/app/models/concept.rb @@ -7,3 +7,14 @@ class Concept < ActiveRecord::Base has_many :parents, through: :parent_relationships has_many :children, through: :child_relationships end + +Concept.create!(name: "Solar") +Concept.create!(name: "Water") +Concept.create!(name: "Evaporation") +ConceptRelationship.create!(parent_id: 1, child_id: 2) +ConceptRelationship.create!(parent_id: 2, child_id: 3) +Concept.first.children +=> "Water" #we expected [["Water"], ["Evaporation"]] +similarly +Concept.fist.parents +=> "Water" #we expected [["Water"], ["Solar"]] diff --git a/app/models/experiment.rb b/app/models/experiment.rb index d06f280..925d1e7 100644 --- a/app/models/experiment.rb +++ b/app/models/experiment.rb @@ -33,7 +33,7 @@ def votes read_attribute(:votes) || experiment_votes.sum(:value) end - def self.order_by_mess + def self.order_number_by_mess (all.sort_by {|e| e.average("name").nil? ? 0 : e.average("name").avg}).reverse end diff --git a/app/models/instruction.rb b/app/models/instruction.rb index 5c62519..7aa7c25 100644 --- a/app/models/instruction.rb +++ b/app/models/instruction.rb @@ -1,5 +1,5 @@ class Instruction < ActiveRecord::Base belongs_to :experiment - validates :information, :order, presence: true + validates :information, :order_number, presence: true validates :information, uniqueness: { scope: :experiment_id } end diff --git a/app/views/experiments/_form.html.erb b/app/views/experiments/_form.html.erb index d6e66f0..635ad0f 100644 --- a/app/views/experiments/_form.html.erb +++ b/app/views/experiments/_form.html.erb @@ -53,7 +53,7 @@
  • -