Views & Partials
In Sinatra:
get ‘/users/:id’ do
@user = User.find(params[:id])
erb :show_user
Views & Partials
In Sinatra:
get ‘/users/:id’ do
@user = User.find(params[:id])
erb :show_user
| $(function(){ | |
| $("form").on("submit", function(e) { | |
| e.preventDefault(); | |
| $(".error").remove(); | |
| var email = $("input[name='email']"); | |
| var password = $("input[name='password']"); | |
| var emailRegex; | |
| var passwordRegex; | |
| var error = []; | 
| $(document).ready(function () { | |
| $("form").one("submit", function(event) { | |
| event.preventDefault(); | |
| url = $(this).attr("action"); | |
| var value = Math.floor(Math.random() * 6) + 1; | |
| var data = $(value).serialize(); | |
| $.post(url, data, function(response) { | |
| $("#die-container").html(response).effect("shake"); | |
| }); | 
| /* Here is your chance to take over Socrates! | |
| Spend 10 minutes on each of the following hacks to the socrates website. | |
| Enter them in the console to make sure it works and then save | |
| your results here. | |
| Choose a new pair for each. Add your names to the section you complete. | |
| */ | 
| /* Here is your chance to take over Socrates! | |
| Spend 10 minutes on each of the following hacks to the socrates website. | |
| Enter them in the console to make sure it works and then save | |
| your results here. | |
| Choose a new pair for each. Add your names to the section you complete. | |
| */ | 
| <!doctype html> | |
| <html> | |
| <head> | |
| <link rel="stylesheet" href="http://cdn.jsdelivr.net/normalize/2.1.0/normalize.css"> | |
| <link rel="stylesheet" href="main.css"> | |
| <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800"> | |
| <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Lato:100,900"> | |
| <link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/font-awesome/3.0.2/css/font-awesome.min.css"> | |
| </head> | 
| # Part 4 -- Extra Credit (Refactor using Composition) | |
| module Vehicle | |
| attr_reader :status, :tickets | |
| def drive | |
| @status = :driving | |
| end | |
| def brake | 
| class Vehicle | |
| attr_reader :status, :tickets | |
| def initialize(args) | |
| @color = args[:color] | |
| @tickets = 0 | |
| end | |
| def drive | |
| @status = :driving | 
| class Impossible < StandardError | |
| end | |
| class SudokuBoard | |
| attr_accessor :board | |
| def initialize(board) | |
| raise ArgumentError.new('Not enough rows') unless board.size == 9 | |
| board.each_with_index do |row, i| | 
| module Sudoku | |
| class Puzzle | |
| def initialize(lines) | |
| if (lines.respond_to? :join) | |
| s = lines.join(",") | |
| else | |
| s = lines.dup | |
| end |