Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Done with the demo app.

  • Loading branch information...
commit 643d5a01e6838a0c5164e05b610840a3d86b2f28 1 parent 12701c7
@x2002g authored
Showing with 586 additions and 0 deletions.
  1. +83 −0 app/controllers/microposts_controller.rb
  2. +83 −0 app/controllers/users_controller.rb
  3. +2 −0  app/helpers/microposts_helper.rb
  4. +2 −0  app/helpers/users_helper.rb
  5. +4 −0 app/models/micropost.rb
  6. +3 −0  app/models/user.rb
  7. +25 −0 app/views/microposts/_form.html.erb
  8. +6 −0 app/views/microposts/edit.html.erb
  9. +25 −0 app/views/microposts/index.html.erb
  10. +5 −0 app/views/microposts/new.html.erb
  11. +15 −0 app/views/microposts/show.html.erb
  12. BIN  app/views/users/.index.html.erb.swp
  13. +25 −0 app/views/users/_form.html.erb
  14. +6 −0 app/views/users/edit.html.erb
  15. +25 −0 app/views/users/index.html.erb
  16. +5 −0 app/views/users/new.html.erb
  17. +15 −0 app/views/users/show.html.erb
  18. +4 −0 config/routes.rb
  19. +14 −0 db/migrate/20110627203705_create_users.rb
  20. +14 −0 db/migrate/20110713211532_create_microposts.rb
  21. +29 −0 db/schema.rb
  22. +56 −0 public/stylesheets/scaffold.css
  23. +9 −0 test/fixtures/microposts.yml
  24. +9 −0 test/fixtures/users.yml
  25. +49 −0 test/functional/microposts_controller_test.rb
  26. +49 −0 test/functional/users_controller_test.rb
  27. +4 −0 test/unit/helpers/microposts_helper_test.rb
  28. +4 −0 test/unit/helpers/users_helper_test.rb
  29. +8 −0 test/unit/micropost_test.rb
  30. +8 −0 test/unit/user_test.rb
View
83 app/controllers/microposts_controller.rb
@@ -0,0 +1,83 @@
+class MicropostsController < ApplicationController
+ # GET /microposts
+ # GET /microposts.xml
+ def index
+ @microposts = Micropost.all
+
+ respond_to do |format|
+ format.html # index.html.erb
+ format.xml { render :xml => @microposts }
+ end
+ end
+
+ # GET /microposts/1
+ # GET /microposts/1.xml
+ def show
+ @micropost = Micropost.find(params[:id])
+
+ respond_to do |format|
+ format.html # show.html.erb
+ format.xml { render :xml => @micropost }
+ end
+ end
+
+ # GET /microposts/new
+ # GET /microposts/new.xml
+ def new
+ @micropost = Micropost.new
+
+ respond_to do |format|
+ format.html # new.html.erb
+ format.xml { render :xml => @micropost }
+ end
+ end
+
+ # GET /microposts/1/edit
+ def edit
+ @micropost = Micropost.find(params[:id])
+ end
+
+ # POST /microposts
+ # POST /microposts.xml
+ def create
+ @micropost = Micropost.new(params[:micropost])
+
+ respond_to do |format|
+ if @micropost.save
+ format.html { redirect_to(@micropost, :notice => 'Micropost was successfully created.') }
+ format.xml { render :xml => @micropost, :status => :created, :location => @micropost }
+ else
+ format.html { render :action => "new" }
+ format.xml { render :xml => @micropost.errors, :status => :unprocessable_entity }
+ end
+ end
+ end
+
+ # PUT /microposts/1
+ # PUT /microposts/1.xml
+ def update
+ @micropost = Micropost.find(params[:id])
+
+ respond_to do |format|
+ if @micropost.update_attributes(params[:micropost])
+ format.html { redirect_to(@micropost, :notice => 'Micropost was successfully updated.') }
+ format.xml { head :ok }
+ else
+ format.html { render :action => "edit" }
+ format.xml { render :xml => @micropost.errors, :status => :unprocessable_entity }
+ end
+ end
+ end
+
+ # DELETE /microposts/1
+ # DELETE /microposts/1.xml
+ def destroy
+ @micropost = Micropost.find(params[:id])
+ @micropost.destroy
+
+ respond_to do |format|
+ format.html { redirect_to(microposts_url) }
+ format.xml { head :ok }
+ end
+ end
+end
View
83 app/controllers/users_controller.rb
@@ -0,0 +1,83 @@
+class UsersController < ApplicationController
+ # GET /users
+ # GET /users.xml
+ def index
+ @users = User.all
+
+ respond_to do |format|
+ format.html # index.html.erb
+ format.xml { render :xml => @users }
+ end
+ end
+
+ # GET /users/1
+ # GET /users/1.xml
+ def show
+ @user = User.find(params[:id])
+
+ respond_to do |format|
+ format.html # show.html.erb
+ format.xml { render :xml => @user }
+ end
+ end
+
+ # GET /users/new
+ # GET /users/new.xml
+ def new
+ @user = User.new
+
+ respond_to do |format|
+ format.html # new.html.erb
+ format.xml { render :xml => @user }
+ end
+ end
+
+ # GET /users/1/edit
+ def edit
+ @user = User.find(params[:id])
+ end
+
+ # POST /users
+ # POST /users.xml
+ def create
+ @user = User.new(params[:user])
+
+ respond_to do |format|
+ if @user.save
+ format.html { redirect_to(@user, :notice => 'User was successfully created.') }
+ format.xml { render :xml => @user, :status => :created, :location => @user }
+ else
+ format.html { render :action => "new" }
+ format.xml { render :xml => @user.errors, :status => :unprocessable_entity }
+ end
+ end
+ end
+
+ # PUT /users/1
+ # PUT /users/1.xml
+ def update
+ @user = User.find(params[:id])
+
+ respond_to do |format|
+ if @user.update_attributes(params[:user])
+ format.html { redirect_to(@user, :notice => 'User was successfully updated.') }
+ format.xml { head :ok }
+ else
+ format.html { render :action => "edit" }
+ format.xml { render :xml => @user.errors, :status => :unprocessable_entity }
+ end
+ end
+ end
+
+ # DELETE /users/1
+ # DELETE /users/1.xml
+ def destroy
+ @user = User.find(params[:id])
+ @user.destroy
+
+ respond_to do |format|
+ format.html { redirect_to(users_url) }
+ format.xml { head :ok }
+ end
+ end
+end
View
2  app/helpers/microposts_helper.rb
@@ -0,0 +1,2 @@
+module MicropostsHelper
+end
View
2  app/helpers/users_helper.rb
@@ -0,0 +1,2 @@
+module UsersHelper
+end
View
4 app/models/micropost.rb
@@ -0,0 +1,4 @@
+class Micropost < ActiveRecord::Base
+ belongs_to :user
+ validates :content, :length => {:maximum => 150}
+end
View
3  app/models/user.rb
@@ -0,0 +1,3 @@
+class User < ActiveRecord::Base
+ has_many :microposts
+end
View
25 app/views/microposts/_form.html.erb
@@ -0,0 +1,25 @@
+<%= form_for(@micropost) do |f| %>
+ <% if @micropost.errors.any? %>
+ <div id="error_explanation">
+ <h2><%= pluralize(@micropost.errors.count, "error") %> prohibited this micropost from being saved:</h2>
+
+ <ul>
+ <% @micropost.errors.full_messages.each do |msg| %>
+ <li><%= msg %></li>
+ <% end %>
+ </ul>
+ </div>
+ <% end %>
+
+ <div class="field">
+ <%= f.label :content %><br />
+ <%= f.text_field :content %>
+ </div>
+ <div class="field">
+ <%= f.label :user_id %><br />
+ <%= f.text_field :user_id %>
+ </div>
+ <div class="actions">
+ <%= f.submit %>
+ </div>
+<% end %>
View
6 app/views/microposts/edit.html.erb
@@ -0,0 +1,6 @@
+<h1>Editing micropost</h1>
+
+<%= render 'form' %>
+
+<%= link_to 'Show', @micropost %> |
+<%= link_to 'Back', microposts_path %>
View
25 app/views/microposts/index.html.erb
@@ -0,0 +1,25 @@
+<h1>Listing microposts</h1>
+
+<table>
+ <tr>
+ <th>Content</th>
+ <th>User</th>
+ <th></th>
+ <th></th>
+ <th></th>
+ </tr>
+
+<% @microposts.each do |micropost| %>
+ <tr>
+ <td><%= micropost.content %></td>
+ <td><%= micropost.user_id %></td>
+ <td><%= link_to 'Show', micropost %></td>
+ <td><%= link_to 'Edit', edit_micropost_path(micropost) %></td>
+ <td><%= link_to 'Destroy', micropost, :confirm => 'Are you sure?', :method => :delete %></td>
+ </tr>
+<% end %>
+</table>
+
+<br />
+
+<%= link_to 'New Micropost', new_micropost_path %>
View
5 app/views/microposts/new.html.erb
@@ -0,0 +1,5 @@
+<h1>New micropost</h1>
+
+<%= render 'form' %>
+
+<%= link_to 'Back', microposts_path %>
View
15 app/views/microposts/show.html.erb
@@ -0,0 +1,15 @@
+<p id="notice"><%= notice %></p>
+
+<p>
+ <b>Content:</b>
+ <%= @micropost.content %>
+</p>
+
+<p>
+ <b>User:</b>
+ <%= @micropost.user_id %>
+</p>
+
+
+<%= link_to 'Edit', edit_micropost_path(@micropost) %> |
+<%= link_to 'Back', microposts_path %>
View
BIN  app/views/users/.index.html.erb.swp
Binary file not shown
View
25 app/views/users/_form.html.erb
@@ -0,0 +1,25 @@
+<%= form_for(@user) do |f| %>
+ <% if @user.errors.any? %>
+ <div id="error_explanation">
+ <h2><%= pluralize(@user.errors.count, "error") %> prohibited this user from being saved:</h2>
+
+ <ul>
+ <% @user.errors.full_messages.each do |msg| %>
+ <li><%= msg %></li>
+ <% end %>
+ </ul>
+ </div>
+ <% end %>
+
+ <div class="field">
+ <%= f.label :name %><br />
+ <%= f.text_field :name %>
+ </div>
+ <div class="field">
+ <%= f.label :email %><br />
+ <%= f.text_field :email %>
+ </div>
+ <div class="actions">
+ <%= f.submit %>
+ </div>
+<% end %>
View
6 app/views/users/edit.html.erb
@@ -0,0 +1,6 @@
+<h1>Editing user</h1>
+
+<%= render 'form' %>
+
+<%= link_to 'Show', @user %> |
+<%= link_to 'Back', users_path %>
View
25 app/views/users/index.html.erb
@@ -0,0 +1,25 @@
+<h1>Listing users</h1>
+
+<table>
+ <tr>
+ <th>Name</th>
+ <th>Email</th>
+ <th></th>
+ <th></th>
+ <th></th>
+ </tr>
+
+<% @users.each do |user| %>
+ <tr>
+ <td><%= user.name %></td>
+ <td><%= user.email %></td>
+ <td><%= link_to 'Show', user %></td>
+ <td><%= link_to 'Edit', edit_user_path(user) %></td>
+ <td><%= link_to 'Destroy', user, :confirm => 'Are you sure?', :method => :delete %></td>
+ </tr>
+<% end %>
+</table>
+
+<br />
+
+<%= link_to 'New User', new_user_path %>
View
5 app/views/users/new.html.erb
@@ -0,0 +1,5 @@
+<h1>New user</h1>
+
+<%= render 'form' %>
+
+<%= link_to 'Back', users_path %>
View
15 app/views/users/show.html.erb
@@ -0,0 +1,15 @@
+<p id="notice"><%= notice %></p>
+
+<p>
+ <b>Name:</b>
+ <%= @user.name %>
+</p>
+
+<p>
+ <b>Email:</b>
+ <%= @user.email %>
+</p>
+
+
+<%= link_to 'Edit', edit_user_path(@user) %> |
+<%= link_to 'Back', users_path %>
View
4 config/routes.rb
@@ -1,4 +1,8 @@
DemoApp::Application.routes.draw do
+ resources :microposts
+
+ resources :users
+
# The priority is based upon order of creation:
# first created -> highest priority.
View
14 db/migrate/20110627203705_create_users.rb
@@ -0,0 +1,14 @@
+class CreateUsers < ActiveRecord::Migration
+ def self.up
+ create_table :users do |t|
+ t.string :name
+ t.string :email
+
+ t.timestamps
+ end
+ end
+
+ def self.down
+ drop_table :users
+ end
+end
View
14 db/migrate/20110713211532_create_microposts.rb
@@ -0,0 +1,14 @@
+class CreateMicroposts < ActiveRecord::Migration
+ def self.up
+ create_table :microposts do |t|
+ t.string :content
+ t.integer :user_id
+
+ t.timestamps
+ end
+ end
+
+ def self.down
+ drop_table :microposts
+ end
+end
View
29 db/schema.rb
@@ -0,0 +1,29 @@
+# This file is auto-generated from the current state of the database. Instead
+# of editing this file, please use the migrations feature of Active Record to
+# incrementally modify your database, and then regenerate this schema definition.
+#
+# Note that this schema.rb definition is the authoritative source for your
+# database schema. If you need to create the application database on another
+# system, you should be using db:schema:load, not running all the migrations
+# from scratch. The latter is a flawed and unsustainable approach (the more migrations
+# you'll amass, the slower it'll run and the greater likelihood for issues).
+#
+# It's strongly recommended to check this file into your version control system.
+
+ActiveRecord::Schema.define(:version => 20110713211532) do
+
+ create_table "microposts", :force => true do |t|
+ t.string "content"
+ t.integer "user_id"
+ t.datetime "created_at"
+ t.datetime "updated_at"
+ end
+
+ create_table "users", :force => true do |t|
+ t.string "name"
+ t.string "email"
+ t.datetime "created_at"
+ t.datetime "updated_at"
+ end
+
+end
View
56 public/stylesheets/scaffold.css
@@ -0,0 +1,56 @@
+body { background-color: #fff; color: #333; }
+
+body, p, ol, ul, td {
+ font-family: verdana, arial, helvetica, sans-serif;
+ font-size: 13px;
+ line-height: 18px;
+}
+
+pre {
+ background-color: #eee;
+ padding: 10px;
+ font-size: 11px;
+}
+
+a { color: #000; }
+a:visited { color: #666; }
+a:hover { color: #fff; background-color:#000; }
+
+div.field, div.actions {
+ margin-bottom: 10px;
+}
+
+#notice {
+ color: green;
+}
+
+.field_with_errors {
+ padding: 2px;
+ background-color: red;
+ display: table;
+}
+
+#error_explanation {
+ width: 450px;
+ border: 2px solid red;
+ padding: 7px;
+ padding-bottom: 0;
+ margin-bottom: 20px;
+ background-color: #f0f0f0;
+}
+
+#error_explanation h2 {
+ text-align: left;
+ font-weight: bold;
+ padding: 5px 5px 5px 15px;
+ font-size: 12px;
+ margin: -7px;
+ margin-bottom: 0px;
+ background-color: #c00;
+ color: #fff;
+}
+
+#error_explanation ul li {
+ font-size: 12px;
+ list-style: square;
+}
View
9 test/fixtures/microposts.yml
@@ -0,0 +1,9 @@
+# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
+
+one:
+ content: MyString
+ user_id: 1
+
+two:
+ content: MyString
+ user_id: 1
View
9 test/fixtures/users.yml
@@ -0,0 +1,9 @@
+# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
+
+one:
+ name: MyString
+ email: MyString
+
+two:
+ name: MyString
+ email: MyString
View
49 test/functional/microposts_controller_test.rb
@@ -0,0 +1,49 @@
+require 'test_helper'
+
+class MicropostsControllerTest < ActionController::TestCase
+ setup do
+ @micropost = microposts(:one)
+ end
+
+ test "should get index" do
+ get :index
+ assert_response :success
+ assert_not_nil assigns(:microposts)
+ end
+
+ test "should get new" do
+ get :new
+ assert_response :success
+ end
+
+ test "should create micropost" do
+ assert_difference('Micropost.count') do
+ post :create, :micropost => @micropost.attributes
+ end
+
+ assert_redirected_to micropost_path(assigns(:micropost))
+ end
+
+ test "should show micropost" do
+ get :show, :id => @micropost.to_param
+ assert_response :success
+ end
+
+ test "should get edit" do
+ get :edit, :id => @micropost.to_param
+ assert_response :success
+ end
+
+ test "should update micropost" do
+ put :update, :id => @micropost.to_param, :micropost => @micropost.attributes
+ assert_redirected_to micropost_path(assigns(:micropost))
+ end
+
+ test "should destroy micropost" do
+ assert_difference('Micropost.count', -1) do
+ delete :destroy, :id => @micropost.to_param
+ end
+
+ assert_redirected_to microposts_path
+ end
+end
View
49 test/functional/users_controller_test.rb
@@ -0,0 +1,49 @@
+require 'test_helper'
+
+class UsersControllerTest < ActionController::TestCase
+ setup do
+ @user = users(:one)
+ end
+
+ test "should get index" do
+ get :index
+ assert_response :success
+ assert_not_nil assigns(:users)
+ end
+
+ test "should get new" do
+ get :new
+ assert_response :success
+ end
+
+ test "should create user" do
+ assert_difference('User.count') do
+ post :create, :user => @user.attributes
+ end
+
+ assert_redirected_to user_path(assigns(:user))
+ end
+
+ test "should show user" do
+ get :show, :id => @user.to_param
+ assert_response :success
+ end
+
+ test "should get edit" do
+ get :edit, :id => @user.to_param
+ assert_response :success
+ end
+
+ test "should update user" do
+ put :update, :id => @user.to_param, :user => @user.attributes
+ assert_redirected_to user_path(assigns(:user))
+ end
+
+ test "should destroy user" do
+ assert_difference('User.count', -1) do
+ delete :destroy, :id => @user.to_param
+ end
+
+ assert_redirected_to users_path
+ end
+end
View
4 test/unit/helpers/microposts_helper_test.rb
@@ -0,0 +1,4 @@
+require 'test_helper'
+
+class MicropostsHelperTest < ActionView::TestCase
+end
View
4 test/unit/helpers/users_helper_test.rb
@@ -0,0 +1,4 @@
+require 'test_helper'
+
+class UsersHelperTest < ActionView::TestCase
+end
View
8 test/unit/micropost_test.rb
@@ -0,0 +1,8 @@
+require 'test_helper'
+
+class MicropostTest < ActiveSupport::TestCase
+ # Replace this with your real tests.
+ test "the truth" do
+ assert true
+ end
+end
View
8 test/unit/user_test.rb
@@ -0,0 +1,8 @@
+require 'test_helper'
+
+class UserTest < ActiveSupport::TestCase
+ # Replace this with your real tests.
+ test "the truth" do
+ assert true
+ end
+end
Please sign in to comment.
Something went wrong with that request. Please try again.