This repository has been archived by the owner on Dec 12, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 646
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' of https://github.com/ryanb/railscasts-episodes
- Loading branch information
Showing
226 changed files
with
3,714 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,24 @@ | |||
# RailsCasts Episode #354: Squeel | |||
|
|||
http://railscasts.com/episodes/354-squeel | |||
|
|||
Requires Ruby 1.9.2 or higher. | |||
|
|||
|
|||
### Commands used in this episode | |||
|
|||
``` | |||
rails c | |||
rails g squeel:initializer | |||
``` | |||
|
|||
### Commands used in rails console | |||
|
|||
``` | |||
Product.where { released_at < 3.months.ago } | |||
Product.where{released_at < 3.months.ago} | |||
Product.where{released_at < 3.months.ago}.class | |||
Product.where{released_at.lt 3.months.ago} | |||
Product.where{released_at.lt(3.months.ago) & price.gt(20)} | |||
Product.where{released_at.lt(3.months.ago) | price.gt(20)} | |||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,15 @@ | |||
# See http://help.github.com/ignore-files/ for more about ignoring files. | |||
# | |||
# If you find yourself ignoring temporary files generated by your text editor | |||
# or operating system, you probably want to add a global ignore instead: | |||
# git config --global core.excludesfile ~/.gitignore_global | |||
|
|||
# Ignore bundler config | |||
/.bundle | |||
|
|||
# Ignore the default SQLite database. | |||
/db/*.sqlite3 | |||
|
|||
# Ignore all logfiles and tempfiles. | |||
/log/*.log | |||
/tmp |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,40 @@ | |||
source 'https://rubygems.org' | |||
|
|||
gem 'rails', '3.2.3' | |||
|
|||
# Bundle edge Rails instead: | |||
# gem 'rails', :git => 'git://github.com/rails/rails.git' | |||
|
|||
gem 'sqlite3' | |||
|
|||
|
|||
# Gems used only for assets and not required | |||
# in production environments by default. | |||
group :assets do | |||
gem 'sass-rails', '~> 3.2.3' | |||
gem 'coffee-rails', '~> 3.2.1' | |||
|
|||
# See https://github.com/sstephenson/execjs#readme for more supported runtimes | |||
# gem 'therubyracer', :platform => :ruby | |||
|
|||
gem 'uglifier', '>= 1.0.3' | |||
end | |||
|
|||
gem 'jquery-rails' | |||
|
|||
# To use ActiveModel has_secure_password | |||
# gem 'bcrypt-ruby', '~> 3.0.0' | |||
|
|||
# To use Jbuilder templates for JSON | |||
# gem 'jbuilder' | |||
|
|||
# Use unicorn as the app server | |||
# gem 'unicorn' | |||
|
|||
# Deploy with Capistrano | |||
# gem 'capistrano' | |||
|
|||
# To use debugger | |||
# gem 'ruby-debug19', :require => 'ruby-debug' | |||
|
|||
gem 'squeel' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,118 @@ | |||
GEM | |||
remote: https://rubygems.org/ | |||
specs: | |||
actionmailer (3.2.3) | |||
actionpack (= 3.2.3) | |||
mail (~> 2.4.4) | |||
actionpack (3.2.3) | |||
activemodel (= 3.2.3) | |||
activesupport (= 3.2.3) | |||
builder (~> 3.0.0) | |||
erubis (~> 2.7.0) | |||
journey (~> 1.0.1) | |||
rack (~> 1.4.0) | |||
rack-cache (~> 1.2) | |||
rack-test (~> 0.6.1) | |||
sprockets (~> 2.1.2) | |||
activemodel (3.2.3) | |||
activesupport (= 3.2.3) | |||
builder (~> 3.0.0) | |||
activerecord (3.2.3) | |||
activemodel (= 3.2.3) | |||
activesupport (= 3.2.3) | |||
arel (~> 3.0.2) | |||
tzinfo (~> 0.3.29) | |||
activeresource (3.2.3) | |||
activemodel (= 3.2.3) | |||
activesupport (= 3.2.3) | |||
activesupport (3.2.3) | |||
i18n (~> 0.6) | |||
multi_json (~> 1.0) | |||
arel (3.0.2) | |||
builder (3.0.0) | |||
coffee-rails (3.2.2) | |||
coffee-script (>= 2.2.0) | |||
railties (~> 3.2.0) | |||
coffee-script (2.2.0) | |||
coffee-script-source | |||
execjs | |||
coffee-script-source (1.3.3) | |||
erubis (2.7.0) | |||
execjs (1.3.2) | |||
multi_json (~> 1.0) | |||
hike (1.2.1) | |||
i18n (0.6.0) | |||
journey (1.0.3) | |||
jquery-rails (2.0.2) | |||
railties (>= 3.2.0, < 5.0) | |||
thor (~> 0.14) | |||
json (1.7.3) | |||
mail (2.4.4) | |||
i18n (>= 0.4.0) | |||
mime-types (~> 1.16) | |||
treetop (~> 1.4.8) | |||
mime-types (1.18) | |||
multi_json (1.3.5) | |||
polyamorous (0.5.0) | |||
activerecord (~> 3.0) | |||
polyglot (0.3.3) | |||
rack (1.4.1) | |||
rack-cache (1.2) | |||
rack (>= 0.4) | |||
rack-ssl (1.3.2) | |||
rack | |||
rack-test (0.6.1) | |||
rack (>= 1.0) | |||
rails (3.2.3) | |||
actionmailer (= 3.2.3) | |||
actionpack (= 3.2.3) | |||
activerecord (= 3.2.3) | |||
activeresource (= 3.2.3) | |||
activesupport (= 3.2.3) | |||
bundler (~> 1.0) | |||
railties (= 3.2.3) | |||
railties (3.2.3) | |||
actionpack (= 3.2.3) | |||
activesupport (= 3.2.3) | |||
rack-ssl (~> 1.3.2) | |||
rake (>= 0.8.7) | |||
rdoc (~> 3.4) | |||
thor (~> 0.14.6) | |||
rake (0.9.2.2) | |||
rdoc (3.12) | |||
json (~> 1.4) | |||
sass (3.1.18) | |||
sass-rails (3.2.5) | |||
railties (~> 3.2.0) | |||
sass (>= 3.1.10) | |||
tilt (~> 1.3) | |||
sprockets (2.1.3) | |||
hike (~> 1.2) | |||
rack (~> 1.0) | |||
tilt (~> 1.1, != 1.3.0) | |||
sqlite3 (1.3.6) | |||
squeel (1.0.1) | |||
activerecord (~> 3.0) | |||
activesupport (~> 3.0) | |||
polyamorous (~> 0.5.0) | |||
thor (0.14.6) | |||
tilt (1.3.3) | |||
treetop (1.4.10) | |||
polyglot | |||
polyglot (>= 0.3.1) | |||
tzinfo (0.3.33) | |||
uglifier (1.2.4) | |||
execjs (>= 0.3.0) | |||
multi_json (>= 1.0.2) | |||
|
|||
PLATFORMS | |||
ruby | |||
|
|||
DEPENDENCIES | |||
coffee-rails (~> 3.2.1) | |||
jquery-rails | |||
rails (= 3.2.3) | |||
sass-rails (~> 3.2.3) | |||
sqlite3 | |||
squeel | |||
uglifier (>= 1.0.3) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,9 @@ | |||
= RailsCasts Example Application | |||
|
|||
Run these commands to try it out. | |||
|
|||
bundle | |||
rake db:setup | |||
rails s | |||
|
|||
Requires Ruby 1.9.2 or later to run. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -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 |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 15 additions & 0 deletions
15
episode-354/store-after/app/assets/javascripts/application.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,15 @@ | |||
// This is a manifest file that'll be compiled into application.js, which will include all the files | |||
// listed below. | |||
// | |||
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, | |||
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path. | |||
// | |||
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the | |||
// the compiled file. | |||
// | |||
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD | |||
// GO AFTER THE REQUIRES BELOW. | |||
// | |||
//= require jquery | |||
//= require jquery_ujs | |||
//= require_tree . |
3 changes: 3 additions & 0 deletions
3
episode-354/store-after/app/assets/javascripts/products.js.coffee
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,3 @@ | |||
# Place all the behaviors and hooks related to the matching controller here. | |||
# All this logic will automatically be available in application.js. | |||
# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/ |
13 changes: 13 additions & 0 deletions
13
episode-354/store-after/app/assets/stylesheets/application.css
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,13 @@ | |||
/* | |||
* This is a manifest file that'll be compiled into application.css, which will include all the files | |||
* listed below. | |||
* | |||
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets, | |||
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path. | |||
* | |||
* 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 . | |||
*/ |
79 changes: 79 additions & 0 deletions
79
episode-354/store-after/app/assets/stylesheets/layout.css.scss
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,79 @@ | |||
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: 80%; | |||
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; | |||
} | |||
|
|||
.field_with_errors { | |||
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-bottom: 0; | |||
} | |||
|
|||
form .field, form .actions { | |||
margin: 12px 0; | |||
} |
17 changes: 17 additions & 0 deletions
17
episode-354/store-after/app/assets/stylesheets/products.css.scss
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,17 @@ | |||
// Place all the styles related to the products controller here. | |||
// They will automatically be included in application.css. | |||
// You can use Sass (SCSS) here: http://sass-lang.com/ | |||
|
|||
#products { | |||
margin: 15px 0; | |||
th { | |||
text-align: left; | |||
} | |||
td, th { | |||
padding: 2px 15px; | |||
padding-left: 0; | |||
} | |||
td:last-child, th:last-child { | |||
text-align: right; | |||
} | |||
} |
3 changes: 3 additions & 0 deletions
3
episode-354/store-after/app/controllers/application_controller.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,3 @@ | |||
class ApplicationController < ActionController::Base | |||
protect_from_forgery | |||
end |
9 changes: 9 additions & 0 deletions
9
episode-354/store-after/app/controllers/products_controller.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,9 @@ | |||
class ProductsController < ApplicationController | |||
def index | |||
@products = Product.search(params[:search]) | |||
end | |||
|
|||
def show | |||
@product = Product.find(params[:id]) | |||
end | |||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,2 @@ | |||
module ApplicationHelper | |||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,2 @@ | |||
module ProductsHelper | |||
end |
Empty file.
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,4 @@ | |||
class Category < ActiveRecord::Base | |||
attr_accessible :name | |||
has_many :products | |||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,16 @@ | |||
class Product < ActiveRecord::Base | |||
belongs_to :category | |||
attr_accessible :name, :price, :category_id, :released_at, :discontinued_at, :stock | |||
|
|||
def self.search(query) | |||
where do | |||
(released_at <= Time.zone.now) & | |||
((discontinued_at == nil) | (discontinued_at > Time.zone.now)) & | |||
(stock >= my{low_stock}) & (name =~ "%#{query}%") | |||
end | |||
end | |||
|
|||
def self.low_stock | |||
2 | |||
end | |||
end |
Oops, something went wrong.