Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Casen committed Jul 26, 2009
0 parents commit e82a6fb
Show file tree
Hide file tree
Showing 94 changed files with 4,239 additions and 0 deletions.
10 changes: 10 additions & 0 deletions app_template/README
@@ -0,0 +1,10 @@
This is a default rails app I made to use as a template for my projects. I tried using various different forks of Bort, but all of them had something wrong, and none of them were really right for me. If you find this useful, then enjoy!

Details
---------------------------
Rails 2.3.2

User Authentication with Authlogic and Open_id_authentication
Jrails replaces prototype and scriptaculous
Default layout created with Ryanb's nifty_layout generator
Pagination using will_paginate
10 changes: 10 additions & 0 deletions app_template/Rakefile
@@ -0,0 +1,10 @@
# 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.join(File.dirname(__FILE__), 'config', 'boot'))

require 'rake'
require 'rake/testtask'
require 'rake/rdoctask'

require 'tasks/rails'
23 changes: 23 additions & 0 deletions app_template/app/controllers/application_controller.rb
@@ -0,0 +1,23 @@
# Filters added to this controller apply to all controllers in the application.
# Likewise, all the methods added will be available for all controllers.

class ApplicationController < ActionController::Base
helper :all # include all helpers, all the time
protect_from_forgery # See ActionController::RequestForgeryProtection for details

# Scrub sensitive parameters from your log
# filter_parameter_logging :password
helper_method :current_user

private

def current_user_session
return @current_user_session if defined?(@current_user_session)
@current_user_session = UserSession.find
end

def current_user
return @current_user if defined?(@current_user)
@current_user = current_user_session && current_user_session.record
end
end
25 changes: 25 additions & 0 deletions app_template/app/controllers/user_sessions_controller.rb
@@ -0,0 +1,25 @@
class UserSessionsController < ApplicationController
def new
@user_session = UserSession.new
end

def create
@user_session = UserSession.new(params[:user_session])
@user_session.save do |result|
if result
flash[:notice] = "Successfully logged in."
redirect_to root_url
else
render :action => 'new'
end
end
end


def destroy
@user_session = UserSession.find
@user_session.destroy
flash[:notice] = "Successfully logged out."
redirect_to root_url
end
end
34 changes: 34 additions & 0 deletions app_template/app/controllers/users_controller.rb
@@ -0,0 +1,34 @@
class UsersController < ApplicationController
def new
@user = User.new
end

def create
@user = User.new(params[:user])
@user.save do |result|
if result
flash[:notice] = "Registration successful."
redirect_to root_url
else
render :action => 'new'
end
end
end

def update
@user = current_user
@user.attributes = params[:user]
@user.save do |result|
if result
flash[:notice] = "Successfully updated profile."
redirect_to root_url
else
render :action => 'edit'
end
end
end

def edit
@user = current_user
end
end
3 changes: 3 additions & 0 deletions app_template/app/helpers/application_helper.rb
@@ -0,0 +1,3 @@
# Methods added to this helper will be available to all templates in the application.
module ApplicationHelper
end
23 changes: 23 additions & 0 deletions app_template/app/helpers/layout_helper.rb
@@ -0,0 +1,23 @@
# These helper methods can be called in your template to set variables to be used in the layout
# This module should be included in all views globally,
# to do so you may need to add this line to your ApplicationController
# helper :layout
module LayoutHelper
def title(page_title, show_title = true)
@content_for_title = page_title.to_s
@show_title = show_title
end

def show_title?
@show_title
end

def stylesheet(*args)
content_for(:head) { stylesheet_link_tag(*args.map(&:to_s)) }
end

def javascript(*args)
args = args.map { |arg| arg == :defaults ? arg : arg.to_s }
content_for(:head) { javascript_include_tag(*args) }
end
end
2 changes: 2 additions & 0 deletions app_template/app/helpers/user_sessions_helper.rb
@@ -0,0 +1,2 @@
module UserSessionsHelper
end
2 changes: 2 additions & 0 deletions app_template/app/helpers/users_helper.rb
@@ -0,0 +1,2 @@
module UsersHelper
end
13 changes: 13 additions & 0 deletions app_template/app/models/user.rb
@@ -0,0 +1,13 @@
class User < ActiveRecord::Base
acts_as_authentic do |c|
c.openid_required_fields = [:nickname, :email]
end

private

def map_openid_registration(registration)
self.email = registration["email"] if email.blank?
self.username = registration["nickname"] if username.blank?
end

end
2 changes: 2 additions & 0 deletions app_template/app/models/user_session.rb
@@ -0,0 +1,2 @@
class UserSession < Authlogic::Session::Base
end
33 changes: 33 additions & 0 deletions app_template/app/views/layouts/application.html.erb
@@ -0,0 +1,33 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title><%= h(yield(:title) || "Untitled") %></title>
<%= stylesheet_link_tag 'application' %>
<%= javascript_include_tag :defaults %>
<%= yield(:head) %>
</head>
<body>
<div id="container">
<div id="user_nav">
<% if current_user %>
<%= link_to "Edit Profile", edit_user_path(:current) %> |
<%= link_to "logout", logout_path %>
<% else %>
<%= link_to "Register", new_user_path %> |
<%= link_to "Login", login_path %>
<% end %>
</div>
<%- flash.each do |name, msg| -%>
<%= content_tag :div, msg, :id => "flash_#{name}" %>
<%- end -%>
<div class="clear"></div>
<%- if show_title? -%>
<h1><%=h yield(:title) %></h1>
<%- end -%>
<%= yield %>

</div>
</body>
</html>
23 changes: 23 additions & 0 deletions app_template/app/views/user_sessions/new.html.erb
@@ -0,0 +1,23 @@
<% title "New User Session" %>
<% form_for @user_session do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :username %><br />
<%= f.text_field :username %>
</p>
<p>
<%= f.label :password %><br />
<%= f.password_field :password %>
</p>
<p><%= f.submit "Submit", :disable_with => 'Processing...' %></p>

<h2>Or use OpenID</h2>
<p>
<%= f.label :openid_identifier, "OpenID URL" %><br />
<%= f.text_field :openid_identifier %>
</p>
<p><%= f.submit "Submit", :disable_with => 'Processing...' %></p>
<% end %>


31 changes: 31 additions & 0 deletions app_template/app/views/users/_form.html.erb
@@ -0,0 +1,31 @@
<% form_for @user do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :username %> <br />
<%= f.text_field :username %>
</p>
<p>
<%= f.label :email %> <br />
<%= f.text_field :email %>
</p>

<% if @user.openid_identifier.blank? %>
<p>
<%= f.label :password %><br />
<%= f.password_field :password %>
</p>
<p>
<%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation %>
</p>
<p><%= f.submit "Submit", :disable_with => 'Processing...' %></p>

<h2>Or use OpenID</h2>
<% end %>
<p>
<%= f.label :openid_identifier, "OpenID URL" %><br />
<%= f.text_field :openid_identifier %>
</p>
<p><%= f.submit "Submit", :disable_with => 'Processing...' %></p>

<% end %>
4 changes: 4 additions & 0 deletions app_template/app/views/users/edit.html.erb
@@ -0,0 +1,4 @@
<% title "Edit User" %>
<%= render :partial => 'form' %>

11 changes: 11 additions & 0 deletions app_template/app/views/users/new.html.erb
@@ -0,0 +1,11 @@
<% title "New User" %>
<%= render :partial => 'form' %>
<%= link_to_function 'click' do |page|
page.visual_effect :switch_off, "test"
end %>
<div id="test">
This is a really cool test paragraph to see if jquery works properly
</div>

110 changes: 110 additions & 0 deletions app_template/config/boot.rb
@@ -0,0 +1,110 @@
# Don't change this file!
# Configure your app in config/environment.rb and config/environments/*.rb

RAILS_ROOT = "#{File.dirname(__FILE__)}/.." unless defined?(RAILS_ROOT)

module Rails
class << self
def boot!
unless booted?
preinitialize
pick_boot.run
end
end

def booted?
defined? Rails::Initializer
end

def pick_boot
(vendor_rails? ? VendorBoot : GemBoot).new
end

def vendor_rails?
File.exist?("#{RAILS_ROOT}/vendor/rails")
end

def preinitialize
load(preinitializer_path) if File.exist?(preinitializer_path)
end

def preinitializer_path
"#{RAILS_ROOT}/config/preinitializer.rb"
end
end

class Boot
def run
load_initializer
Rails::Initializer.run(:set_load_path)
end
end

class VendorBoot < Boot
def load_initializer
require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer"
Rails::Initializer.run(:install_gem_spec_stubs)
Rails::GemDependency.add_frozen_gem_path
end
end

class GemBoot < Boot
def load_initializer
self.class.load_rubygems
load_rails_gem
require 'initializer'
end

def load_rails_gem
if version = self.class.gem_version
gem 'rails', version
else
gem 'rails'
end
rescue Gem::LoadError => load_error
$stderr.puts %(Missing the Rails #{version} gem. Please `gem install -v=#{version} rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.)
exit 1
end

class << self
def rubygems_version
Gem::RubyGemsVersion rescue nil
end

def gem_version
if defined? RAILS_GEM_VERSION
RAILS_GEM_VERSION
elsif ENV.include?('RAILS_GEM_VERSION')
ENV['RAILS_GEM_VERSION']
else
parse_gem_version(read_environment_rb)
end
end

def load_rubygems
require 'rubygems'
min_version = '1.3.1'
unless rubygems_version >= min_version
$stderr.puts %Q(Rails requires RubyGems >= #{min_version} (you have #{rubygems_version}). Please `gem update --system` and try again.)
exit 1
end

rescue LoadError
$stderr.puts %Q(Rails requires RubyGems >= #{min_version}. Please install RubyGems and try again: http://rubygems.rubyforge.org)
exit 1
end

def parse_gem_version(text)
$1 if text =~ /^[^#]*RAILS_GEM_VERSION\s*=\s*["']([!~<>=]*\s*[\d.]+)["']/
end

private
def read_environment_rb
File.read("#{RAILS_ROOT}/config/environment.rb")
end
end
end
end

# All that for this:
Rails.boot!

0 comments on commit e82a6fb

Please sign in to comment.