Skip to content

Instantly share code, notes, and snippets.

View azuby's full-sized avatar

azuby

  • California, USA
View GitHub Profile
Syncin::Application.routes.draw do
devise_for :users, :skip => [ :sessions, :registations ] do
get '/signin' => 'devise/sessions#new', :as => :new_user_session
post '/signin' => 'devise/sessions#create', :as => :user_session
delete '/signout' => 'devise/sessions#destroy', :as => :destroy_user_session
get '/signup' => 'devise/registrations#new', :as => :new_user_registration
post '/signup' => 'devise/registrations#create', :as => :user_registration
adam@ubuntu:~/sites/sync$ rake db:migrate
/home/adam/.rvm/gems/ruby-1.9.2-p290/gems/rack-1.3.4/lib/rack/backports/uri/common_192.rb:53: warning: already initialized constant WFKV_
/home/adam/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/version.rb:4: warning: already initialized constant MAJOR
/home/adam/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/version.rb:5: warning: already initialized constant MINOR
/home/adam/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/version.rb:6: warning: already initialized constant BUILD
/home/adam/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/version.rb:3: warning: already initialized constant NUMBERS
/home/adam/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/version.rb:9: warning: already initialized constant VERSION
/home/adam/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake.rb:26: warning: already initialized constant RAKEVERSION
/home/adam/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/early_time.rb:17: warning: already initialized constant EAR
class Ability
include CanCan::Ability
def initialize(user)
# Define abilities for the passed in user here. For example:
#
# user ||= User.new # guest user (not logged in)
# if user.admin?
# can :manage, :all
# else
routes.rb:
devise_for :users, :controllers => { :sessions => "sessions" }, :skip => [ :sessions, :registations ] do
get '/signin' => 'sessions#new', :as => :new_user_session
post '/signin' => 'sessions#create', :as => :user_session
delete '/signout' => 'sessions#destroy', :as => :destroy_user_session
get '/signup' => 'devise/registrations#new', :as => :new_user_registration
post '/users' => 'devise/registrations#create', :as => :user_registration
get '/users/cancel' => 'devise/registrations#cancel', :as => :cancel_user_registration
routes.rb:
resources :users
devise_for :users, :controllers => { :sessions => "sessions" }, :skip => [ :sessions, :registations ] do
get '/signin' => 'sessions#new', :as => :new_user_session
post '/signin' => 'sessions#create', :as => :user_session
delete '/signout' => 'sessions#destroy', :as => :destroy_user_session
ruby-1.9.2-p290 :001 > perm = Permission.new
(Object doesn't support #inspect)
=>
ruby-1.9.2-p290 :002 > perm = Permission.new
NoMethodError: undefined method `has_key?' for nil:NilClass
from /home/adam/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/whiny_nil.rb:48:in `method_missing'
from /home/adam/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.1/lib/active_record/attribute_methods/read.rb:90:in `_class'
from /home/adam/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.1/lib/active_record/persistence.rb:327:in `attributes_from_column_definition'
from /home/adam/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.1/lib/active_record/locking/optimistic.rb:69:in `attributes_from_column_definition'
from /home/adam/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.1/lib/active_record/base.rb:1550:in `initialize'
# == Schema Information
#
# Table name: users
#
# id :integer not null, primary key
# activated :boolean
# company_id :integer
# employee_id :integer
# first_name :string(255)
# last_name :string(255)
Failures:
1) User should require a first name
Failure/Error: no_name_user = User.new(@attr.merge(:first_name => ""))
ActiveRecord::StatementInvalid:
Could not find table 'users'
# ./spec/models/user_spec.rb:41:in `new'
# ./spec/models/user_spec.rb:41:in `block (2 levels) in <top (required)>'
2) User should require a last name
@azuby
azuby / gist:1326931
Created October 31, 2011 04:41
User Request Spec
require 'spec_helper'
describe "User" do
describe "signup" do
describe "failure" do
it "should not make a new user" do
lambda do
def initialize(user)
if !user.nil? && !user.role.nil?
if user.company_id == 1 # if internal employee
can :manage, :all
else # if consumer
user.permissions.each do |permission|
if permission.is_internal?
# NEEDS CHECK FOR WHETHER permission.subject_class.constantize has user or users that equal user.id OR user.subordinates.find(ID)
can permission.action.to_sym, permission.subject_class.constantize,