Archive for the ‘Uncategorized’ Category

Week 10 Slides

Wednesday, March 18th, 2009

Hello everyone! It’s the last week of lecture. Here are your week 10 slides.

This week we’ll be talking about a couple plugins, sending emails, and a little rails security. Followed by show and tell. Woo!

Week 9 Codes

Wednesday, March 11th, 2009

Go to this repo for the week 9 rubyholic codes:

http://github.com/uwruby/rubyholic

Week 9 Slides

Wednesday, March 11th, 2009

Hello everyone! Here are the week 9 slides.

This week we’re going to be talking about plugins, mysql, and sphinx among other things. See you all tonight!

Week 8 Slides

Wednesday, March 4th, 2009

It’s that time again! Here are your week 8 slides.

This week we’ll be talking about advanced active record techniques. See you tonight!

Rubyholic Project

Thursday, February 26th, 2009

Hi everyone! For the rest of the quarter we’re going to be working on the Rubyholic project. We will employee techniques we’ve learned (and are learning) in the book to finish this project. The finished product is due on March 29th.

Project Description

The Rubyholic project is a website for Rubyists to find their local Ruby groups around the country. The website should let a person find their local ruby group, and it should also let someone create their ruby group. The site will show where and when any particular ruby group is meeting, along with maps and any other pertinent information.

Models

We will have 3 models.

  1. Group
  2. Event
  3. Location

A Group should have many Events. An Event should belong to a Location. A Group should have many Locations through Event. Take a look at the document I link to below for the attributes each of these models should have.

Controllers

We will have 3 RESTful controllers that manage each of these objects.

  1. GroupsController
  2. EventsController
  3. LocationsController

Take a look at the attached documents below for my rough sketches of each screen, and the flow. The arrows indicate flow, they aren’t actually part of the website. ;-)

Timeline

You should have already started this project. We’ll be modifying the datastructures from last week just a little bit. This is a rough outline, and only indicates how I might tackle this problem. If you want to tackle it in a different order, that is fine. Just explain to me your strategy. Ultimately I only care that the project gets completed (with tests of course).

March 1st

On March 1st, I expect the basic models to be finished. If you turn in only two models (like you were assigned) that is fine. Just know that you will have to fix the join table to add the Event model later. I also expect the GroupsController#index method working.

March 8th

On March 8th, I will be expecting GroupsController#show, GroupsController#new, GroupsController#create, GroupsController#update, and GroupsController#edit working. GroupsController#show view won’t contain any map or Event information yet. It will merely show Group information.

March 15th

On March 15th, I would expect to see LocationsController#new, LocationsController#create, LocationsController#edit, and LocationsController#update working. I would also like to see the GeoCoding working too.

March 22th

March 22nd, I want to see EventsController#new, EventsController#create, EventsController#edit, and EventsController#update working. I would also expect to see the events show up on the GroupsController#show page along with a google map mapping out the different locations for each event.

Match 29th

March 29th should be searching week. Most of the pages and controllers should be wired together. I want to see Sphinx integration for search, along with pagination and sorting on the GroupsController#index page. I would also like to see the site get someone prettied up this week. Custom CSS and an animated gif or two.

Miscellaneous

This homework is more free form. If you don’t agree with some of the page flow, or would like to change bits around, that is fine. Just let me know what you are changing. It is OK (and encouraged) to work in groups on this project. I want to see you all testing first, then writing the implementations to make those tests pass.

To grade this homework, I will be looking at overall progress, test completeness, including code coverage, and coding style. I want to see well tested code with good OO techniques.

Documents

Here is a PDF showing (most) of the screens that you will be implementing. I did not include edit screens because those should just reuse the “new” views for the most part. I’m also missing a couple arrows because I couldn’t get OmniGraffle to draw a line to another page. If you’d like to modify the document, here is the OmniGraffle file for the PDF.

I encourage you all to discuss this on the mailing list and work together. This project is intended to give you more freedom, so if you want to change things, just run it by me. I’m flexible. Good luck!

Has Many Through Screencast

Wednesday, February 25th, 2009

has_many :things has_many :stuff, :through => :things

http://railscasts.com/episodes/47-two-many-to-many

Week 7 Slides

Wednesday, February 25th, 2009

Hey everyone.

Here are your week 7 slides.

We’ll talk about the homework in class, and I’ll post homework notes and details tonight for those of you who cannot make it to class.

Week 6 Slides

Wednesday, February 18th, 2009

Hey everyone!

Just a reminder, my coworker and internetexpert John Barnette will be substituting tonight since I am in LA doing company training.

Here are your week 6 slides.

Week 5 Slides

Wednesday, February 11th, 2009

It’s that time again! Tonight we’ll be talking about generating XML, JSON, i18n, and tests, tests, tests!

Here are the week 5 slides.

Week 4 Slides

Wednesday, February 4th, 2009

Hello everyone! Here are the slides for week 4.