Adds resque gem and first mailer jobs

1.0
Fernando Espinosa 14 years ago
parent 1ec9cef772
commit 2f719a12fb

@ -24,6 +24,7 @@ gem "google-spreadsheet-ruby", :require => "google_spreadsheet"
gem "aws-ses", "0.4.1", :require => "aws/ses"
gem "rubyzip", :require => "zip/zip"
gem "redis"
gem "resque"
group :development do
gem "capistrano"

@ -104,6 +104,7 @@ GEM
highline (1.6.1)
htmlentities (4.3.0)
i18n (0.5.0)
json (1.4.6)
json_pure (1.5.1)
launchy (0.4.0)
configuration (>= 0.0.5)
@ -160,6 +161,13 @@ GEM
rake (0.8.7)
rdoc (3.5.3)
redis (2.2.0)
redis-namespace (0.10.0)
redis (< 3.0.0)
resque (1.15.0)
json (~> 1.4.6)
redis-namespace (>= 0.10.0)
sinatra (>= 0.9.2)
vegas (~> 0.1.2)
rgeo (0.2.7)
rgeo-geojson (0.2.0)
rgeo (>= 0.2.0)
@ -196,15 +204,21 @@ GEM
rubyzip
sequel (3.22.0)
sequel_column_type_array (0.0.2)
sinatra (1.2.3)
rack (~> 1.1)
tilt (>= 1.2.2, < 2.0)
spreadsheet (0.6.5.3)
ruby-ole (>= 1.0)
steak (1.1.0)
rspec (>= 1.3)
thor (0.14.6)
tilt (1.2.2)
timecop (0.3.5)
treetop (1.4.9)
polyglot (>= 0.3.1)
tzinfo (0.3.26)
vegas (0.1.8)
rack (>= 1.0.0)
warden (1.0.3)
rack (>= 1.0.0)
webrat (0.7.3)
@ -240,6 +254,7 @@ DEPENDENCIES
rails_warden
rdoc
redis
resque
rgeo
rgeo-geojson
roo

@ -3,6 +3,7 @@
require File.expand_path('../config/application', __FILE__)
require 'rake'
require 'resque/tasks'
CartoDB::Application.load_tasks

@ -8,7 +8,7 @@ class InvitationsController < ApplicationController
def create
@user = User.new_from_email params[:email]
if @user.save
UserMailer.ask_for_invitation(@user).deliver
Resque.enqueue(Resque::Mailer::User::AskForInvitation, @user)
redirect_to thanks_path and return
else
render :template => 'home/index'

@ -48,7 +48,7 @@ class Superadmin::UsersController < Superadmin::SuperadminController
@user.enable attributes[:enabled]
if @user.save
@user.setup_user
UserMailer.invitation_sent(@user, request.protocol, request.host_with_port).deliver if @user.was_disabled? && @user.enabled?
Resque.enqueue(Resque::Mailer::User::InvitationSent, @user, request.protocol, request.host_with_port) if @user.was_disabled? && @user.enabled?
redirect_to superadmin_users_path, :flash => {:success => 'User updated successfully'}
else
render edit_superadmin_user_path(@user)

@ -7,6 +7,8 @@ class UserMailer < ActionMailer::Base
# en.user_mailer.ask_for_invitation.subject
#
def ask_for_invitation(user)
user = OpenStruct.new(user['values'])
mail :to => user.email
end
@ -15,7 +17,9 @@ class UserMailer < ActionMailer::Base
# en.user_mailer.invitation_sent.subject
#
def invitation_sent(user, protocol, host)
@setup_user_link = "#{protocol}#{host}#{edit_invitation_path(user, :invite_token => user.invite_token)}"
user = OpenStruct.new(user['values'])
@setup_user_link = "#{protocol}#{host}#{edit_invitation_path(user.id, :invite_token => user.invite_token)}"
mail :to => user.email
end
end

@ -0,0 +1,6 @@
require 'resque'
require 'resque/user_mailer_jobs'
redis_config = APP_CONFIG[:redis]
Resque.redis = "#{redis_config['host']}:#{redis_config['port']}"

@ -0,0 +1,22 @@
module Resque
module Mailer
module User
module AskForInvitation
@queue = :mailer
def self.perform(user)
UserMailer.ask_for_invitation(user).deliver
end
end
module InvitationSent
@queue = :mailer
def self.perform(user, protocol, host)
UserMailer.invitation_sent(user, protocol, host).deliver
end
end
end
end
end

@ -0,0 +1,2 @@
#!/bin/sh
VVERBOSE=true QUEUE=* rake environment resque:work
Loading…
Cancel
Save