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

Commit

Permalink
adding revised episode 120
Browse files Browse the repository at this point in the history
  • Loading branch information
ryanb committed Dec 9, 2011
1 parent eca6051 commit ecb0ef4
Show file tree
Hide file tree
Showing 125 changed files with 1,914 additions and 0 deletions.
12 changes: 12 additions & 0 deletions episode-120/revised/README
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,12 @@
Railscasts Episode #120: Thinking Sphinx (revised)

http://railscasts.com/episodes/120-thinking-sphinx-revised

Commands used in episide

rake ts:index
rake ts:start
rake ts:rebuild
rake ts:reindex

Require Ruby 1.9.2 or higher.
6 changes: 6 additions & 0 deletions episode-120/revised/blog-after/.gitignore
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,6 @@
.bundle
db/*.sqlite3
db/sphinx
log/*.log
tmp/
.sass-cache/
21 changes: 21 additions & 0 deletions episode-120/revised/blog-after/Gemfile
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,21 @@
source 'http://rubygems.org'

gem 'rails', '3.1.3'

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

gem 'mysql2'


# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.1.4'
gem 'coffee-rails', '~> 3.1.1'
gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

gem 'thinking-sphinx'
120 changes: 120 additions & 0 deletions episode-120/revised/blog-after/Gemfile.lock
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,120 @@
GEM
remote: http://rubygems.org/
specs:
actionmailer (3.1.3)
actionpack (= 3.1.3)
mail (~> 2.3.0)
actionpack (3.1.3)
activemodel (= 3.1.3)
activesupport (= 3.1.3)
builder (~> 3.0.0)
erubis (~> 2.7.0)
i18n (~> 0.6)
rack (~> 1.3.5)
rack-cache (~> 1.1)
rack-mount (~> 0.8.2)
rack-test (~> 0.6.1)
sprockets (~> 2.0.3)
activemodel (3.1.3)
activesupport (= 3.1.3)
builder (~> 3.0.0)
i18n (~> 0.6)
activerecord (3.1.3)
activemodel (= 3.1.3)
activesupport (= 3.1.3)
arel (~> 2.2.1)
tzinfo (~> 0.3.29)
activeresource (3.1.3)
activemodel (= 3.1.3)
activesupport (= 3.1.3)
activesupport (3.1.3)
multi_json (~> 1.0)
arel (2.2.1)
builder (3.0.0)
coffee-rails (3.1.1)
coffee-script (>= 2.2.0)
railties (~> 3.1.0)
coffee-script (2.2.0)
coffee-script-source
execjs
coffee-script-source (1.1.3)
erubis (2.7.0)
execjs (1.2.12)
multi_json (~> 1.0)
hike (1.2.1)
i18n (0.6.0)
jquery-rails (1.0.19)
railties (~> 3.0)
thor (~> 0.14)
json (1.6.3)
mail (2.3.0)
i18n (>= 0.4.0)
mime-types (~> 1.16)
treetop (~> 1.4.8)
mime-types (1.17.2)
multi_json (1.0.4)
mysql2 (0.3.11)
polyglot (0.3.3)
rack (1.3.5)
rack-cache (1.1)
rack (>= 0.4)
rack-mount (0.8.3)
rack (>= 1.0.0)
rack-ssl (1.3.2)
rack
rack-test (0.6.1)
rack (>= 1.0)
rails (3.1.3)
actionmailer (= 3.1.3)
actionpack (= 3.1.3)
activerecord (= 3.1.3)
activeresource (= 3.1.3)
activesupport (= 3.1.3)
bundler (~> 1.0)
railties (= 3.1.3)
railties (3.1.3)
actionpack (= 3.1.3)
activesupport (= 3.1.3)
rack-ssl (~> 1.3.2)
rake (>= 0.8.7)
rdoc (~> 3.4)
thor (~> 0.14.6)
rake (0.9.2.2)
rdoc (3.11)
json (~> 1.4)
riddle (1.5.0)
sass (3.1.11)
sass-rails (3.1.5)
actionpack (~> 3.1.0)
railties (~> 3.1.0)
sass (~> 3.1.10)
tilt (~> 1.3.2)
sprockets (2.0.3)
hike (~> 1.2)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
thinking-sphinx (2.0.10)
activerecord (>= 3.0.3)
builder (>= 2.1.2)
riddle (>= 1.5.0)
thor (0.14.6)
tilt (1.3.3)
treetop (1.4.10)
polyglot
polyglot (>= 0.3.1)
tzinfo (0.3.31)
uglifier (1.1.0)
execjs (>= 0.3.0)
multi_json (>= 1.0.2)

PLATFORMS
ruby

DEPENDENCIES
coffee-rails (~> 3.1.1)
jquery-rails
mysql2
rails (= 3.1.3)
sass-rails (~> 3.1.4)
thinking-sphinx
uglifier (>= 1.0.3)
9 changes: 9 additions & 0 deletions episode-120/revised/blog-after/README
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.
7 changes: 7 additions & 0 deletions episode-120/revised/blog-after/Rakefile
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__)

Blog::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.
Original file line number Original file line Diff line number Diff line change
@@ -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 .
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/
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/
123 changes: 123 additions & 0 deletions episode-120/revised/blog-after/app/assets/stylesheets/application.css
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,123 @@
/*
* 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 .
*/

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;
}

.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;
}

#articles h2 {
font-size: 16px;
margin-bottom: 2px;
}

#articles h2 .comments {
font-size: 12px;
font-weight: normal;
}

#articles .date {
font-style: italic;
color: #333;
}

#comments {
font-size: 12px;
background-color: #EEE;
padding: 0 20px;
width: 325px;
border: solid 1px #777;
}

.comment {
border-bottom: solid 1px #999;
margin: 15px 0;
}

.comment:last-child {
border-bottom: none;
}

.comment .author_name {
font-weight: bold;
}
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,3 @@
// Place all the styles related to the articles controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,3 @@
// Place all the styles related to the comments controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
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
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,18 @@
class ArticlesController < ApplicationController
def index
@articles = Article.search(params[:search])
# Search options:
# order: :name
# page: 1, per_page: 20
# conditions: {name: "Batman"}
# with: {author_id: 2}
# with: {created_at: 3.weeks.ago..Time.zone.now}
# field_weights: {name: 20, content: 10, author_name: 5}
# match_mode: :boolean
end

def show
@article = Article.find(params[:id])
@comment = Comment.new(article_id: @article.id)
end
end
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,14 @@
class CommentsController < ApplicationController
def new
@comment = Comment.new
end

def create
@comment = Comment.new(params[:comment])
if @comment.save
redirect_to @comment.article, notice: "Successfully created comment."
else
render :new
end
end
end
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,2 @@
module ApplicationHelper
end
2 changes: 2 additions & 0 deletions episode-120/revised/blog-after/app/helpers/articles_helper.rb
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,2 @@
module ArticlesHelper
end
2 changes: 2 additions & 0 deletions episode-120/revised/blog-after/app/helpers/comments_helper.rb
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,2 @@
module CommentsHelper
end
Empty file.
Empty file.
13 changes: 13 additions & 0 deletions episode-120/revised/blog-after/app/models/article.rb
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,13 @@
class Article < ActiveRecord::Base
belongs_to :author
has_many :comments

define_index do
indexes content
indexes :name, sortable: true
indexes comments.content, as: :comment_content
indexes [author.first_name, author.last_name], as: :author_name

has author_id, published_at
end
end
2 changes: 2 additions & 0 deletions episode-120/revised/blog-after/app/models/author.rb
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,2 @@
class Author < ActiveRecord::Base
end
3 changes: 3 additions & 0 deletions episode-120/revised/blog-after/app/models/comment.rb
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,3 @@
class Comment < ActiveRecord::Base
belongs_to :article
end
Loading

0 comments on commit ecb0ef4

Please sign in to comment.