From fed85795ac17d88445e4995320f84777f2ea4001 Mon Sep 17 00:00:00 2001 From: Sean O'Donnell Date: Wed, 7 Dec 2011 14:22:08 -0500 Subject: [PATCH] refactoring --- app/models/engine_supplier.rb | 3 - app/models/qualifying_session.rb | 6 - app/models/race.rb | 6 - app/models/race_meeting.rb | 1 + config/initializers/inflections.rb | 4 + db/migrate/20111117202131_create_seasons.rb | 4 +- db/migrate/20111117203054_create_races.rb | 10 - ...es.rb => 20111117203102_create_chassis.rb} | 2 +- ...111117203233_create_qualifying_sessions.rb | 11 - .../20111117204356_add_season_id_to_race.rb | 5 - db/migrate/20111207152343_drop_cars_table.rb | 11 - .../20111207152836_create_engine_suppliers.rb | 8 - db/migrate/20111207152907_create_engines.rb | 1 + doc/controllers_brief.svg | 4 +- doc/controllers_complete.svg | 4 +- doc/models_brief.svg | 160 +++++-- doc/models_complete.svg | 408 +++++++++++------- spec/models/chassis_spec.rb | 1 + spec/models/driver_spec.rb | 1 + spec/models/engine_spec.rb | 4 +- spec/models/engine_supplier_spec.rb | 5 - spec/models/f1_team_spec.rb | 7 +- spec/models/qualifying_session_spec.rb | 13 - spec/models/race_spec.rb | 14 - 24 files changed, 403 insertions(+), 290 deletions(-) delete mode 100644 app/models/engine_supplier.rb delete mode 100644 app/models/qualifying_session.rb delete mode 100644 app/models/race.rb delete mode 100644 db/migrate/20111117203054_create_races.rb rename db/migrate/{20111117203102_create_chasses.rb => 20111117203102_create_chassis.rb} (81%) delete mode 100644 db/migrate/20111117203233_create_qualifying_sessions.rb delete mode 100644 db/migrate/20111117204356_add_season_id_to_race.rb delete mode 100644 db/migrate/20111207152343_drop_cars_table.rb delete mode 100644 db/migrate/20111207152836_create_engine_suppliers.rb delete mode 100644 spec/models/engine_supplier_spec.rb delete mode 100644 spec/models/qualifying_session_spec.rb delete mode 100644 spec/models/race_spec.rb diff --git a/app/models/engine_supplier.rb b/app/models/engine_supplier.rb deleted file mode 100644 index 592f1fd..0000000 --- a/app/models/engine_supplier.rb +++ /dev/null @@ -1,3 +0,0 @@ -class EngineSupplier < ActiveRecord::Base - belongs_to :engine -end diff --git a/app/models/qualifying_session.rb b/app/models/qualifying_session.rb deleted file mode 100644 index daa45f3..0000000 --- a/app/models/qualifying_session.rb +++ /dev/null @@ -1,6 +0,0 @@ -require 'scorable' - -class QualifyingSession < ActiveRecord::Base - include Scorable - belongs_to :season -end diff --git a/app/models/race.rb b/app/models/race.rb deleted file mode 100644 index 8b625a2..0000000 --- a/app/models/race.rb +++ /dev/null @@ -1,6 +0,0 @@ -require 'scorable' - -class Race < ActiveRecord::Base - include Scorable - belongs_to :season -end diff --git a/app/models/race_meeting.rb b/app/models/race_meeting.rb index 77e4b47..67ecafe 100644 --- a/app/models/race_meeting.rb +++ b/app/models/race_meeting.rb @@ -1,3 +1,4 @@ class RaceMeeting < ActiveRecord::Base belongs_to :season + has_many :race_sessions end diff --git a/config/initializers/inflections.rb b/config/initializers/inflections.rb index 9e8b013..de738f4 100644 --- a/config/initializers/inflections.rb +++ b/config/initializers/inflections.rb @@ -8,3 +8,7 @@ # inflect.irregular 'person', 'people' # inflect.uncountable %w( fish sheep ) # end + +ActiveSupport::Inflector.inflections do |inflect| + inflect.irregular 'chassis', 'chassis' +end diff --git a/db/migrate/20111117202131_create_seasons.rb b/db/migrate/20111117202131_create_seasons.rb index 002fdf1..7f7819c 100644 --- a/db/migrate/20111117202131_create_seasons.rb +++ b/db/migrate/20111117202131_create_seasons.rb @@ -2,8 +2,8 @@ class CreateSeasons < ActiveRecord::Migration def change create_table :seasons do |t| t.string :name - t.start_date :date - t.end_date :date + t.date :start_date + t.date :end_date t.timestamps end end diff --git a/db/migrate/20111117203054_create_races.rb b/db/migrate/20111117203054_create_races.rb deleted file mode 100644 index 89b3293..0000000 --- a/db/migrate/20111117203054_create_races.rb +++ /dev/null @@ -1,10 +0,0 @@ -class CreateRaces < ActiveRecord::Migration - def change - create_table :races do |t| -# TODO/SEAN: Change to race meetings - t.string :name - t.location :location - t.timestamps - end - end -end diff --git a/db/migrate/20111117203102_create_chasses.rb b/db/migrate/20111117203102_create_chassis.rb similarity index 81% rename from db/migrate/20111117203102_create_chasses.rb rename to db/migrate/20111117203102_create_chassis.rb index 21e377b..3b98116 100644 --- a/db/migrate/20111117203102_create_chasses.rb +++ b/db/migrate/20111117203102_create_chassis.rb @@ -1,6 +1,6 @@ class CreateChasses < ActiveRecord::Migration def change - create_table :chasses do |t| + create_table :chassis do |t| t.integer :team_id t.string :name t.timestamps diff --git a/db/migrate/20111117203233_create_qualifying_sessions.rb b/db/migrate/20111117203233_create_qualifying_sessions.rb deleted file mode 100644 index f6f0d06..0000000 --- a/db/migrate/20111117203233_create_qualifying_sessions.rb +++ /dev/null @@ -1,11 +0,0 @@ -class CreateQualifyingSessions < ActiveRecord::Migration - def change - create_table :qualifying_sessions do |t| - t.start_time :datetime # ISSUE: SEAN/TIMEZONES? - t.integer :race_meeting_id - t.integer :driver_id - t.integer :penalty, :default => 0 - t.timestamps - end - end -end diff --git a/db/migrate/20111117204356_add_season_id_to_race.rb b/db/migrate/20111117204356_add_season_id_to_race.rb deleted file mode 100644 index 14fa553..0000000 --- a/db/migrate/20111117204356_add_season_id_to_race.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddSeasonIdToRace < ActiveRecord::Migration - def change - add_column :races, :season_id, :integer - end -end diff --git a/db/migrate/20111207152343_drop_cars_table.rb b/db/migrate/20111207152343_drop_cars_table.rb deleted file mode 100644 index a1704de..0000000 --- a/db/migrate/20111207152343_drop_cars_table.rb +++ /dev/null @@ -1,11 +0,0 @@ -class DropCarsTable < ActiveRecord::Migration - def up - drop_table :cars - end - - def down - create_table :cars do |t| - t.timestamps - end - end -end diff --git a/db/migrate/20111207152836_create_engine_suppliers.rb b/db/migrate/20111207152836_create_engine_suppliers.rb deleted file mode 100644 index 6092a4a..0000000 --- a/db/migrate/20111207152836_create_engine_suppliers.rb +++ /dev/null @@ -1,8 +0,0 @@ -class CreateEngineSuppliers < ActiveRecord::Migration - def change - create_table :engine_suppliers do |t| - t.string :name - t.timestamps - end - end -end diff --git a/db/migrate/20111207152907_create_engines.rb b/db/migrate/20111207152907_create_engines.rb index c66427d..b059d5d 100644 --- a/db/migrate/20111207152907_create_engines.rb +++ b/db/migrate/20111207152907_create_engines.rb @@ -1,6 +1,7 @@ class CreateEngines < ActiveRecord::Migration def change create_table :engines do |t| + t.integer :team_id t.integer :supplier_id t.timestamps end diff --git a/doc/controllers_brief.svg b/doc/controllers_brief.svg index d757b9c..4f8c1d7 100644 --- a/doc/controllers_brief.svg +++ b/doc/controllers_brief.svg @@ -12,8 +12,8 @@ _diagram_info Controllers diagram -Date: Dec 07 2011 - 10:33 -Migration version: 20111207153221 +Date: Dec 07 2011 - 14:15 +Migration version: 20111207180742 Generated by RailRoady 1.0.2 http://railroady.prestonlee.com diff --git a/doc/controllers_complete.svg b/doc/controllers_complete.svg index 63a8050..409a2c9 100644 --- a/doc/controllers_complete.svg +++ b/doc/controllers_complete.svg @@ -12,8 +12,8 @@ _diagram_info Controllers diagram -Date: Dec 07 2011 - 10:33 -Migration version: 20111207153221 +Date: Dec 07 2011 - 14:15 +Migration version: 20111207180742 Generated by RailRoady 1.0.2 http://railroady.prestonlee.com diff --git a/doc/models_brief.svg b/doc/models_brief.svg index bdb57b9..f4156cb 100644 --- a/doc/models_brief.svg +++ b/doc/models_brief.svg @@ -4,74 +4,150 @@ - - + + models_diagram - + _diagram_info -Models diagram -Date: Dec 07 2011 - 10:32 -Migration version: 20111207153221 -Generated by RailRoady 1.0.2 -http://railroady.prestonlee.com +Models diagram +Date: Dec 07 2011 - 14:15 +Migration version: 20111207180742 +Generated by RailRoady 1.0.2 +http://railroady.prestonlee.com Chassis - -Chassis + +Chassis Driver - -Driver + +Driver Engine - -Engine + +Engine - -EngineSupplier - -EngineSupplier + +Supplier + +Supplier + + +Engine->Supplier + + + + + +F1Team + +F1Team PitCrew - -PitCrew + +PitCrew - -QualifyingSession - -QualifyingSession + +RaceMeeting + +RaceMeeting - -Race - -Race + +RaceSession + +RaceSession + + +RaceMeeting->RaceSession + + + Season - -Season + +Season + + +Season->RaceMeeting + + + - -Season->Race - - - + +Suppliers + +Suppliers -Team - -Team +Team + +Team + + +Team->Driver + + + + + +Team->Engine + + + + + +Team->F1Team + + + +Team->PitCrew + + + -Tire - -Tire +Tire + +Tire + + +Team->Tire + + + + + +UserTeam + +UserTeam + + +Team->UserTeam + + + +Chassi + +Chassi + + +Team->Chassi + + + + + +Tire->Supplier + + + diff --git a/doc/models_complete.svg b/doc/models_complete.svg index c04c79a..5791a33 100644 --- a/doc/models_complete.svg +++ b/doc/models_complete.svg @@ -4,175 +4,289 @@ - - + + models_diagram - + _diagram_info -Models diagram -Date: Dec 07 2011 - 10:32 -Migration version: 20111207153221 -Generated by RailRoady 1.0.2 -http://railroady.prestonlee.com +Models diagram +Date: Dec 07 2011 - 14:15 +Migration version: 20111207180742 +Generated by RailRoady 1.0.2 +http://railroady.prestonlee.com Chassis - - - - - - - - -Chassis - -created_at :datetime -updated_at :datetime + + + + + + + + +Chassis + +name :string +created_at :datetime +updated_at :datetime Driver - - - - - - - - -Driver - -created_at :datetime -updated_at :datetime + + + + + + + + +Driver + +first_name :string +last_name :string +country :string +created_at :datetime +updated_at :datetime Engine - - - - - - - - -Engine - -created_at :datetime -updated_at :datetime - - -EngineSupplier - - - - - - - - -EngineSupplier - -created_at :datetime -updated_at :datetime + + + + + + + + +Engine + +created_at :datetime +updated_at :datetime + + +Supplier + +Supplier + + +Engine->Supplier + + + + + +F1Team + + + + + + + + +F1Team + +name :string +country :string +created_at :datetime +updated_at :datetime PitCrew - - - - - - - - -PitCrew - -created_at :datetime -updated_at :datetime - - -QualifyingSession - - - - - - - - -QualifyingSession - -created_at :datetime -updated_at :datetime - - -Race - - - - - - - - -Race - -created_at :datetime -updated_at :datetime + + + + + + + + +PitCrew + +created_at :datetime +updated_at :datetime + + +RaceMeeting + + + + + + + + +RaceMeeting + +name :string +location :string +created_at :datetime +updated_at :datetime + + +RaceSession + + + + + + + + +RaceSession + +qualifying :boolean +created_at :datetime +updated_at :datetime + + +RaceMeeting->RaceSession + + + Season - - - - - - - - -Season - -name :string -created_at :datetime -updated_at :datetime - - -Season->Race - - - + + + + + + + + +Season + +name :string +start_date :date +end_date :date +created_at :datetime +updated_at :datetime + + +Season->RaceMeeting + + + + + +Suppliers + + + + + + + + +Suppliers + +name :string +suppliable_type :string +created_at :datetime +updated_at :datetime -Team - - - - - - - - -Team - -created_at :datetime -updated_at :datetime +Team + + + + + + + + +Team + +name :string +country :string +created_at :datetime +updated_at :datetime + + +Team->Driver + + + + + +Team->Engine + + + + + +Team->F1Team + + + +Team->PitCrew + + + -Tire - - - - - - - - -Tire - -created_at :datetime -updated_at :datetime +Tire + + + + + + + + +Tire + +name :string +created_at :datetime +updated_at :datetime + + +Team->Tire + + + + + +UserTeam + + + + + + + + +UserTeam + +name :string +country :string +created_at :datetime +updated_at :datetime + + +Team->UserTeam + + + +Chassi + +Chassi + + +Team->Chassi + + + + + +Tire->Supplier + + + diff --git a/spec/models/chassis_spec.rb b/spec/models/chassis_spec.rb index 33e7492..d6cd023 100644 --- a/spec/models/chassis_spec.rb +++ b/spec/models/chassis_spec.rb @@ -7,4 +7,5 @@ it "can be saved successfully" do Chassis.create.should be_persisted end + it { should belong_to(:team) } end diff --git a/spec/models/driver_spec.rb b/spec/models/driver_spec.rb index d9d3014..f3c9466 100644 --- a/spec/models/driver_spec.rb +++ b/spec/models/driver_spec.rb @@ -7,4 +7,5 @@ it "can be saved successfully" do Driver.create.should be_persisted end + it { should belong_to(:team) } end diff --git a/spec/models/engine_spec.rb b/spec/models/engine_spec.rb index a08d6de..09fafc2 100644 --- a/spec/models/engine_spec.rb +++ b/spec/models/engine_spec.rb @@ -1,5 +1,7 @@ require 'spec_helper' describe Engine do - pending "add some examples to (or delete) #{__FILE__}" + it { should belong_to(:team) } + # ISSUE/SEAN: wtf? + # it { should have_many(:suppliers) } end diff --git a/spec/models/engine_supplier_spec.rb b/spec/models/engine_supplier_spec.rb deleted file mode 100644 index 81a6fd5..0000000 --- a/spec/models/engine_supplier_spec.rb +++ /dev/null @@ -1,5 +0,0 @@ -require 'spec_helper' - -describe EngineSupplier do - pending "add some examples to (or delete) #{__FILE__}" -end diff --git a/spec/models/f1_team_spec.rb b/spec/models/f1_team_spec.rb index 4ef95e8..4ba7ed7 100644 --- a/spec/models/f1_team_spec.rb +++ b/spec/models/f1_team_spec.rb @@ -1,5 +1,10 @@ require 'spec_helper' describe F1Team do - pending "add some examples to (or delete) #{__FILE__}" + it "can be instantiated" do + F1Team.new.should be_an_instance_of(F1Team) + end + it "can be saved successfully" do + F1Team.create.should be_persisted + end end diff --git a/spec/models/qualifying_session_spec.rb b/spec/models/qualifying_session_spec.rb deleted file mode 100644 index 2249b08..0000000 --- a/spec/models/qualifying_session_spec.rb +++ /dev/null @@ -1,13 +0,0 @@ -require 'spec_helper' - -describe QualifyingSession do - it "can be instantiated" do - QualifyingSession.new.should be_an_instance_of(QualifyingSession) - end - it "can be saved successfully" do - QualifyingSession.create.should be_persisted - end - it "should be scorable" do - QualifyingSession.included_modules.include?(Scorable) - end -end diff --git a/spec/models/race_spec.rb b/spec/models/race_spec.rb deleted file mode 100644 index 354c5e3..0000000 --- a/spec/models/race_spec.rb +++ /dev/null @@ -1,14 +0,0 @@ -require 'spec_helper' - -describe Race do - it "can be instantiated" do - Race.new.should be_an_instance_of(Race) - end - it "can be saved successfully" do - Race.create.should be_persisted - end - it { should belong_to(:season)} - it "should be scorable" do - Race.included_modules.include?(Scorable) - end -end