Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
736 changed files
with
66,967 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 | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
config/database.yml | ||
log/*.log |
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 | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
load 'deploy' if respond_to?(:namespace) # cap2 differentiator | ||
Dir['vendor/plugins/*/recipes/*.rb'].each { |plugin| load(plugin) } | ||
load 'config/deploy' |
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 | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
# 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' | ||
|
||
def timestamp(label) | ||
puts "*** #{label} @ #{DateTime.now.to_formatted_s :db} ***" | ||
end | ||
|
||
task :show_success do | ||
timestamp "SUCCESSFUL BUILD" | ||
end | ||
|
||
task :show_start => :environment do | ||
timestamp "BUILD" | ||
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 | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# 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 | ||
|
||
# See ActionController::RequestForgeryProtection for details | ||
# Uncomment the :secret if you're not using the cookie session store | ||
protect_from_forgery # :secret => '5e89a8607a729450f876d58cf6d92b8b' | ||
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 | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# This controller handles the login/logout function of the site. | ||
class SessionsController < ApplicationController | ||
# Be sure to include AuthenticationSystem in Application Controller instead | ||
include AuthenticatedSystem | ||
|
||
# render new.rhtml | ||
def new | ||
end | ||
|
||
def create | ||
self.current_user = User.authenticate(params[:login], params[:password]) | ||
if logged_in? | ||
if params[:remember_me] == "1" | ||
current_user.remember_me unless current_user.remember_token? | ||
cookies[:auth_token] = { :value => self.current_user.remember_token , :expires => self.current_user.remember_token_expires_at } | ||
end | ||
redirect_back_or_default('/') | ||
flash[:notice] = "Logged in successfully" | ||
else | ||
render :action => 'new' | ||
end | ||
end | ||
|
||
def destroy | ||
self.current_user.forget_me if logged_in? | ||
cookies.delete :auth_token | ||
reset_session | ||
flash[:notice] = "You have been logged out." | ||
redirect_back_or_default('/') | ||
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 | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
class UsersController < ApplicationController | ||
# Be sure to include AuthenticationSystem in Application Controller instead | ||
include AuthenticatedSystem | ||
|
||
|
||
# render new.rhtml | ||
def new | ||
end | ||
|
||
def create | ||
cookies.delete :auth_token | ||
# protects against session fixation attacks, wreaks havoc with | ||
# request forgery protection. | ||
# uncomment at your own risk | ||
# reset_session | ||
@user = User.new(params[:user]) | ||
@user.save | ||
if @user.errors.empty? | ||
self.current_user = @user | ||
redirect_back_or_default('/') | ||
flash[:notice] = "Thanks for signing up!" | ||
else | ||
render :action => 'new' | ||
end | ||
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 | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Methods added to this helper will be available to all templates in the application. | ||
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 | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
module SessionsHelper | ||
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 | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
module UsersHelper | ||
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 | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
require 'digest/sha1' | ||
class User < ActiveRecord::Base | ||
# Virtual attribute for the unencrypted password | ||
attr_accessor :password | ||
|
||
validates_presence_of :login, :email | ||
validates_presence_of :password, :if => :password_required? | ||
validates_presence_of :password_confirmation, :if => :password_required? | ||
validates_length_of :password, :within => 4..40, :if => :password_required? | ||
validates_confirmation_of :password, :if => :password_required? | ||
validates_length_of :login, :within => 3..40 | ||
validates_length_of :email, :within => 3..100 | ||
validates_uniqueness_of :login, :email, :case_sensitive => false | ||
before_save :encrypt_password | ||
|
||
# prevents a user from submitting a crafted form that bypasses activation | ||
# anything else you want your user to change should be added here. | ||
attr_accessible :login, :email, :password, :password_confirmation | ||
|
||
# Authenticates a user by their login name and unencrypted password. Returns the user or nil. | ||
def self.authenticate(login, password) | ||
u = find_by_login(login) # need to get the salt | ||
u && u.authenticated?(password) ? u : nil | ||
end | ||
|
||
# Encrypts some data with the salt. | ||
def self.encrypt(password, salt) | ||
Digest::SHA1.hexdigest("--#{salt}--#{password}--") | ||
end | ||
|
||
# Encrypts the password with the user salt | ||
def encrypt(password) | ||
self.class.encrypt(password, salt) | ||
end | ||
|
||
def authenticated?(password) | ||
crypted_password == encrypt(password) | ||
end | ||
|
||
def remember_token? | ||
remember_token_expires_at && Time.now.utc < remember_token_expires_at | ||
end | ||
|
||
# These create and unset the fields required for remembering users between browser closes | ||
def remember_me | ||
remember_me_for 2.weeks | ||
end | ||
|
||
def remember_me_for(time) | ||
remember_me_until time.from_now.utc | ||
end | ||
|
||
def remember_me_until(time) | ||
self.remember_token_expires_at = time | ||
self.remember_token = encrypt("#{email}--#{remember_token_expires_at}") | ||
save(false) | ||
end | ||
|
||
def forget_me | ||
self.remember_token_expires_at = nil | ||
self.remember_token = nil | ||
save(false) | ||
end | ||
|
||
# Returns true if the user has just been activated. | ||
def recently_activated? | ||
@activated | ||
end | ||
|
||
protected | ||
# before filter | ||
def encrypt_password | ||
return if password.blank? | ||
self.salt = Digest::SHA1.hexdigest("--#{Time.now.to_s}--#{login}--") if new_record? | ||
self.crypted_password = encrypt(password) | ||
end | ||
|
||
def password_required? | ||
crypted_password.blank? || !password.blank? | ||
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 | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
<% form_tag session_path do -%> | ||
<p><label for="login">Login</label><br/> | ||
<%= text_field_tag 'login' %></p> | ||
|
||
<p><label for="password">Password</label><br/> | ||
<%= password_field_tag 'password' %></p> | ||
|
||
<!-- Uncomment this if you want this functionality | ||
<p><label for="remember_me">Remember me:</label> | ||
<%= check_box_tag 'remember_me' %></p> | ||
--> | ||
|
||
<p><%= submit_tag 'Log in' %></p> | ||
<% 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 | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
<%= error_messages_for :user %> | ||
<% form_for :user, :url => users_path do |f| -%> | ||
<p><label for="login">Login</label><br/> | ||
<%= f.text_field :login %></p> | ||
|
||
<p><label for="email">Email</label><br/> | ||
<%= f.text_field :email %></p> | ||
|
||
<p><label for="password">Password</label><br/> | ||
<%= f.password_field :password %></p> | ||
|
||
<p><label for="password_confirmation">Confirm Password</label><br/> | ||
<%= f.password_field :password_confirmation %></p> | ||
|
||
<p><%= submit_tag 'Sign up' %></p> | ||
<% 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 | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,109 @@ | ||
# 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) | ||
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 if defined? Gem::RubyGemsVersion | ||
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' | ||
|
||
unless rubygems_version >= '0.9.4' | ||
$stderr.puts %(Rails requires RubyGems >= 0.9.4 (you have #{rubygems_version}). Please `gem update --system` and try again.) | ||
exit 1 | ||
end | ||
|
||
rescue LoadError | ||
$stderr.puts %(Rails requires RubyGems >= 0.9.4. 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! |
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 | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
development: | ||
adapter: mysql | ||
database: spotus_development | ||
username: root | ||
password: | ||
|
||
test: | ||
adapter: mysql | ||
database: spotus_test | ||
username: root | ||
password: | ||
|
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 | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
RAILS_GEM_VERSION = '2.1.1' unless defined? RAILS_GEM_VERSION | ||
|
||
require File.join(File.dirname(__FILE__), 'boot') | ||
|
||
Rails::Initializer.run do |config| | ||
config.gem "haml", :version => "2.0.3" | ||
|
||
config.time_zone = 'UTC' | ||
|
||
config.action_controller.session = { | ||
:session_key => '_spotus_session', | ||
:secret => '5364db1b81e0c120704c572a45f1c6929d10c54ea5b4069680f396e898d8af69920ad7ec1524c5a8f32340624c61f4232204d299b484108bbcdefed1a26f7e7a' | ||
} | ||
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 | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# Settings specified here will take precedence over those in config/environment.rb | ||
|
||
# In the development environment your application's code is reloaded on | ||
# every request. This slows down response time but is perfect for development | ||
# since you don't have to restart the webserver when you make code changes. | ||
config.cache_classes = false | ||
|
||
# Log error messages when you accidentally call methods on nil. | ||
config.whiny_nils = true | ||
|
||
# Show full error reports and disable caching | ||
config.action_controller.consider_all_requests_local = true | ||
config.action_view.debug_rjs = true | ||
config.action_controller.perform_caching = false | ||
|
||
# Don't care if the mailer can't send | ||
config.action_mailer.raise_delivery_errors = false |
Oops, something went wrong.