Sha256: 7f421f8d898e5a58ae2054594425fffef98c144deac0b2551574c8f08ba6bd2e
Contents?: true
Size: 1.16 KB
Versions: 1
Compression:
Stored size: 1.16 KB
Contents
module Spread module Controller def self.included(base) base.extend(ClassMethods) end module ClassMethods def spread(action) mailer = construct_mailer construct_action(action, mailer) end def construct_mailer mailer = Class.new(ActionMailer::Base) do def email(email, url) recipients email body :url => url end end mailer.template_root = "#{RAILS_ROOT}/vendor/plugins/spread/templates/" mailer end def construct_action(action, mailer) define_method action do if request.post? if params[:email].blank? flash[:error] = "Email cannot be blank" else mailer.deliver_email(params[:email], params[:url]) flash[:notice] = "An email has been sent to #{params[:email]}" redirect_to params[:url] || "/" and return end end render :file => "#{RAILS_ROOT}/vendor/plugins/spread/templates/form.html.erb" end end end end end ActionController::Base.send :include, Spread::Controller
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
spread-0.5 | lib/spread/controller.rb |