Skip to content
This repository has been archived by the owner on Dec 12, 2021. It is now read-only.

Commit

Permalink
adding episode 267
Browse files Browse the repository at this point in the history
  • Loading branch information
ryanb committed May 23, 2011
1 parent 837b104 commit cbe9bf3
Show file tree
Hide file tree
Showing 127 changed files with 1,918 additions and 0 deletions.
3 changes: 3 additions & 0 deletions episode-267/README
@@ -0,0 +1,3 @@
Railscasts Episode #267: CoffeeScript Basics

http://railscasts.com/episodes/267-coffeescript-basics
5 changes: 5 additions & 0 deletions episode-267/store-after/.gitignore
@@ -0,0 +1,5 @@
.bundle
db/*.sqlite3
log/*.log
tmp/
.sass-cache/
29 changes: 29 additions & 0 deletions episode-267/store-after/Gemfile
@@ -0,0 +1,29 @@
source 'http://rubygems.org'

gem 'rails', '3.1.0.rc1'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'sqlite3'

# Asset template engines
gem 'sass'
gem 'coffee-script'
gem 'uglifier'

gem 'jquery-rails'

# Use unicorn as the web server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'ruby-debug19', :require => 'ruby-debug'

group :test do
# Pretty printed test output
gem 'turn', :require => false
end
108 changes: 108 additions & 0 deletions episode-267/store-after/Gemfile.lock
@@ -0,0 +1,108 @@
GEM
remote: http://rubygems.org/
specs:
actionmailer (3.1.0.rc1)
actionpack (= 3.1.0.rc1)
mail (~> 2.3.0)
actionpack (3.1.0.rc1)
activemodel (= 3.1.0.rc1)
activesupport (= 3.1.0.rc1)
builder (~> 3.0.0)
erubis (~> 2.7.0)
i18n (~> 0.6.0beta1)
rack (~> 1.3.0.beta2)
rack-cache (~> 1.0.1)
rack-mount (~> 0.8.1)
rack-test (~> 0.6.0)
sprockets (~> 2.0.0.beta.5)
tzinfo (~> 0.3.27)
activemodel (3.1.0.rc1)
activesupport (= 3.1.0.rc1)
bcrypt-ruby (~> 2.1.4)
builder (~> 3.0.0)
i18n (~> 0.6.0beta1)
activerecord (3.1.0.rc1)
activemodel (= 3.1.0.rc1)
activesupport (= 3.1.0.rc1)
arel (~> 2.1.1)
tzinfo (~> 0.3.27)
activeresource (3.1.0.rc1)
activemodel (= 3.1.0.rc1)
activesupport (= 3.1.0.rc1)
activesupport (3.1.0.rc1)
multi_json (~> 1.0)
ansi (1.2.5)
arel (2.1.1)
bcrypt-ruby (2.1.4)
builder (3.0.0)
coffee-script (2.2.0)
coffee-script-source
execjs
coffee-script-source (1.1.1)
erubis (2.7.0)
execjs (1.0.0)
multi_json (~> 1.0)
hike (1.0.0)
i18n (0.6.0)
jquery-rails (1.0.7)
railties (~> 3.0)
thor (~> 0.14)
mail (2.3.0)
i18n (>= 0.4.0)
mime-types (~> 1.16)
treetop (~> 1.4.8)
mime-types (1.16)
multi_json (1.0.2)
polyglot (0.3.1)
rack (1.3.0.beta2)
rack-cache (1.0.2)
rack (>= 0.4)
rack-mount (0.8.1)
rack (>= 1.0.0)
rack-ssl (1.3.2)
rack
rack-test (0.6.0)
rack (>= 1.0)
rails (3.1.0.rc1)
actionmailer (= 3.1.0.rc1)
actionpack (= 3.1.0.rc1)
activerecord (= 3.1.0.rc1)
activeresource (= 3.1.0.rc1)
activesupport (= 3.1.0.rc1)
bundler (~> 1.0)
railties (= 3.1.0.rc1)
railties (3.1.0.rc1)
actionpack (= 3.1.0.rc1)
activesupport (= 3.1.0.rc1)
rack-ssl (~> 1.3.2)
rake (>= 0.8.7)
thor (~> 0.14.6)
rake (0.9.0)
sass (3.1.1)
sprockets (2.0.0.beta.8)
hike (~> 1.0)
rack (~> 1.0)
tilt (!= 1.3.0, ~> 1.1)
sqlite3 (1.3.3)
thor (0.14.6)
tilt (1.3.1)
treetop (1.4.9)
polyglot (>= 0.3.1)
turn (0.8.2)
ansi (>= 1.2.2)
tzinfo (0.3.27)
uglifier (0.5.4)
execjs (>= 0.3.0)
multi_json (>= 1.0.2)

PLATFORMS
ruby

DEPENDENCIES
coffee-script
jquery-rails
rails (= 3.1.0.rc1)
sass
sqlite3
turn
uglifier
7 changes: 7 additions & 0 deletions episode-267/store-after/README
@@ -0,0 +1,7 @@
= RailsCasts Example Application

Run these commands to try it out.

bundle
rake db:migrate
rails s
7 changes: 7 additions & 0 deletions episode-267/store-after/Rakefile
@@ -0,0 +1,7 @@
#!/usr/bin/env rake
# Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.

require File.expand_path('../config/application', __FILE__)

Store::Application.load_tasks
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions episode-267/store-after/app/assets/javascripts/application.js
@@ -0,0 +1,9 @@
// This is a manifest file that'll be compiled into including all the files listed below.
// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
// be included in the compiled file accessible from http://example.com/assets/application.js
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// the compiled file.
//
//= require jquery
//= require jquery_ujs
//= require_tree .
19 changes: 19 additions & 0 deletions episode-267/store-after/app/assets/javascripts/orders.js.coffee
@@ -0,0 +1,19 @@
CreditCard =
cleanNumber: (number) -> number.replace /[- ]/g, ""

validNumber: (number) ->
total = 0
number = @cleanNumber(number)
for i in [(number.length-1)..0]
n = +number[i]
if (i+number.length) % 2 == 0
n = if n*2 > 9 then n*2 - 9 else n*2
total += n
total % 10 == 0

jQuery ->
$("#order_credit_card_number").blur ->
if CreditCard.validNumber(@value)
$("#credit_card_number_error").text("")
else
$("#credit_card_number_error").text("Invalid credit card number.")
92 changes: 92 additions & 0 deletions episode-267/store-after/app/assets/stylesheets/application.css
@@ -0,0 +1,92 @@
/*
* This is a manifest file that'll automatically include all the stylesheets available in this directory
* and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
* the top of the compiled file, but it's generally better to create a new file per style scope.
*= require_self
*= require_tree .
*/

html, body {
background-color: #4B7399;
font-family: Verdana, Helvetica, Arial;
font-size: 14px;
}

a img {
border: none;
}

a {
color: #0000FF;
}

.clear {
clear: both;
height: 0;
overflow: hidden;
}

#container {
width: 75%;
margin: 0 auto;
background-color: #FFF;
padding: 20px 40px;
border: solid 1px black;
margin-top: 20px;
}

#flash_notice, #flash_error, #flash_alert {
padding: 5px 8px;
margin: 10px 0;
}

#flash_notice {
background-color: #CFC;
border: solid 1px #6C6;
}

#flash_error, #flash_alert {
background-color: #FCC;
border: solid 1px #C66;
}

form label {
display: block;
margin-bottom: 2px;
}

form .field, form .actions {
margin: 12px 0;
}

.fieldWithErrors {
display: inline;
}

.error_messages {
width: 400px;
border: 2px solid #CF0000;
padding: 0px;
padding-bottom: 12px;
margin-bottom: 20px;
background-color: #f0f0f0;
font-size: 12px;
}

.error_messages h2 {
text-align: left;
font-weight: bold;
padding: 5px 10px;
font-size: 12px;
margin: 0;
background-color: #c00;
color: #fff;
}

.error_messages p {
margin: 8px 10px;
}

.error_messages ul {
margin: 0;
}
@@ -0,0 +1,5 @@
#credit_card_number_error {
display: inline;
color: #D00;
padding-left: 5px;
}
@@ -0,0 +1,3 @@
class ApplicationController < ActionController::Base
protect_from_forgery
end
83 changes: 83 additions & 0 deletions episode-267/store-after/app/controllers/orders_controller.rb
@@ -0,0 +1,83 @@
class OrdersController < ApplicationController
# GET /orders
# GET /orders.json
def index
@orders = Order.all

respond_to do |format|
format.html # index.html.erb
format.json { render json: @orders }
end
end

# GET /orders/1
# GET /orders/1.json
def show
@order = Order.find(params[:id])

respond_to do |format|
format.html # show.html.erb
format.json { render json: @order }
end
end

# GET /orders/new
# GET /orders/new.json
def new
@order = Order.new

respond_to do |format|
format.html # new.html.erb
format.json { render json: @order }
end
end

# GET /orders/1/edit
def edit
@order = Order.find(params[:id])
end

# POST /orders
# POST /orders.json
def create
@order = Order.new(params[:order])

respond_to do |format|
if @order.save
format.html { redirect_to @order, notice: 'Order was successfully created.' }
format.json { render json: @order, status: :created, location: @order }
else
format.html { render action: "new" }
format.json { render json: @order.errors, status: :unprocessable_entity }
end
end
end

# PUT /orders/1
# PUT /orders/1.json
def update
@order = Order.find(params[:id])

respond_to do |format|
if @order.update_attributes(params[:order])
format.html { redirect_to @order, notice: 'Order was successfully updated.' }
format.json { head :ok }
else
format.html { render action: "edit" }
format.json { render json: @order.errors, status: :unprocessable_entity }
end
end
end

# DELETE /orders/1
# DELETE /orders/1.json
def destroy
@order = Order.find(params[:id])
@order.destroy

respond_to do |format|
format.html { redirect_to orders_url }
format.json { head :ok }
end
end
end
2 changes: 2 additions & 0 deletions episode-267/store-after/app/helpers/application_helper.rb
@@ -0,0 +1,2 @@
module ApplicationHelper
end
2 changes: 2 additions & 0 deletions episode-267/store-after/app/helpers/orders_helper.rb
@@ -0,0 +1,2 @@
module OrdersHelper
end
Empty file.
Empty file.
2 changes: 2 additions & 0 deletions episode-267/store-after/app/models/order.rb
@@ -0,0 +1,2 @@
class Order < ActiveRecord::Base
end

0 comments on commit cbe9bf3

Please sign in to comment.