From e54e9390893847ed4335f3b1efff5bc3a0e54275 Mon Sep 17 00:00:00 2001 From: anayib Date: Fri, 5 Dec 2014 16:21:14 -0500 Subject: [PATCH 1/4] creates methods to send messages in mailer and called them in friends_controller after the match methos occurs --- app/controllers/friends_controller.rb | 5 +++++ app/mailers/friend_mailer.rb | 19 +++++++++++++++++++ app/views/friend_mailer/friend_email.html.erb | 10 ++++++++++ 3 files changed, 34 insertions(+) create mode 100644 app/mailers/friend_mailer.rb create mode 100644 app/views/friend_mailer/friend_email.html.erb diff --git a/app/controllers/friends_controller.rb b/app/controllers/friends_controller.rb index e307a4e..0f634d4 100644 --- a/app/controllers/friends_controller.rb +++ b/app/controllers/friends_controller.rb @@ -1,6 +1,7 @@ class FriendsController < ApplicationController before_action :authenticate_user! + def index @friend = current_user.random_friend # render :index (default behavior) @@ -16,6 +17,10 @@ def like if @friend.liked?(current_user) render :match + + FriendMailer.email_friend(@friend, current_user).deliver + FriendMailer.email_current_user(@current_user , friend).deliver + else redirect_to root_path end diff --git a/app/mailers/friend_mailer.rb b/app/mailers/friend_mailer.rb new file mode 100644 index 0000000..b3407b5 --- /dev/null +++ b/app/mailers/friend_mailer.rb @@ -0,0 +1,19 @@ +class FriendMailer < ActionMailer::Base + default from: "nayib.abdala@gmail.com" + + + def email_friend(friend, current_user) + @user_liked = friend + @user_who_likes = current_user + mail(to: @user_liked.email, subject: 'Alguien quiere conocerte') + end + + def email_current_user(current_user, friend) + @user_who_likes = current_user + @user_liked = friend + mail(to: @user_who_likes, subject: 'Le has dado te gusta a un amigo') + end + +end + + diff --git a/app/views/friend_mailer/friend_email.html.erb b/app/views/friend_mailer/friend_email.html.erb new file mode 100644 index 0000000..3177eb7 --- /dev/null +++ b/app/views/friend_mailer/friend_email.html.erb @@ -0,0 +1,10 @@ + + +   +     +   +   +    

Alguien te quiere conocer, <%= @user_liked.name %>

+    

glkdfglfjgld

+   + \ No newline at end of file From 63ca7712ab339f953d4d1d68b5b0d6530572b1cc Mon Sep 17 00:00:00 2001 From: anayib Date: Fri, 5 Dec 2014 16:27:04 -0500 Subject: [PATCH 2/4] creates mailer views for both emails - user_who_likes and user_liked --- app/views/friend_mailer/email_current_user.html.erb | 11 +++++++++++ .../{friend_email.html.erb => email_friend.html.erb} | 0 2 files changed, 11 insertions(+) create mode 100644 app/views/friend_mailer/email_current_user.html.erb rename app/views/friend_mailer/{friend_email.html.erb => email_friend.html.erb} (100%) diff --git a/app/views/friend_mailer/email_current_user.html.erb b/app/views/friend_mailer/email_current_user.html.erb new file mode 100644 index 0000000..8a2dcad --- /dev/null +++ b/app/views/friend_mailer/email_current_user.html.erb @@ -0,0 +1,11 @@ + + +   +     +   +   +    

hola <%= @user_who_likes %>

+    

Le has dado like a <%= @user_liked.name %>

+ +   + \ No newline at end of file diff --git a/app/views/friend_mailer/friend_email.html.erb b/app/views/friend_mailer/email_friend.html.erb similarity index 100% rename from app/views/friend_mailer/friend_email.html.erb rename to app/views/friend_mailer/email_friend.html.erb From 0a2258f3a2991efc94adb1e909d4bdfdf1d94f07 Mon Sep 17 00:00:00 2001 From: anayib Date: Sun, 7 Dec 2014 19:37:21 -0500 Subject: [PATCH 3/4] configures mailers and development environmet --- app/controllers/friends_controller.rb | 2 +- app/mailers/friend_mailer.rb | 2 +- config/environments/development.rb | 10 +++++++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/app/controllers/friends_controller.rb b/app/controllers/friends_controller.rb index 0f634d4..7d940c3 100644 --- a/app/controllers/friends_controller.rb +++ b/app/controllers/friends_controller.rb @@ -19,7 +19,7 @@ def like render :match FriendMailer.email_friend(@friend, current_user).deliver - FriendMailer.email_current_user(@current_user , friend).deliver + FriendMailer.email_current_user(@current_user , @friend).deliver else redirect_to root_path diff --git a/app/mailers/friend_mailer.rb b/app/mailers/friend_mailer.rb index b3407b5..5d04a24 100644 --- a/app/mailers/friend_mailer.rb +++ b/app/mailers/friend_mailer.rb @@ -11,7 +11,7 @@ def email_friend(friend, current_user) def email_current_user(current_user, friend) @user_who_likes = current_user @user_liked = friend - mail(to: @user_who_likes, subject: 'Le has dado te gusta a un amigo') + mail(to: @user_who_likes.email, subject: 'Le has dado te gusta a un amigo') end end diff --git a/config/environments/development.rb b/config/environments/development.rb index 713b0f1..cb2a443 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -35,5 +35,13 @@ # Raises error for missing translations # config.action_view.raise_on_missing_translations = true - config.action_mailer.default_url_options = { host: 'localhost', port: 3000 } +config.action_mailer.delivery_method = :smtp +config.action_mailer.smtp_settings = { + address: 'smtp.gmail.com', + port: 587, + domain: 'gmail.com', + user_name: '', + password: '', + authentication: 'plain', + enable_starttls_auto: true } end From 643a100a370311b18bb3af93bdbc0212765e1bc0 Mon Sep 17 00:00:00 2001 From: anayib Date: Tue, 9 Dec 2014 11:05:17 -0500 Subject: [PATCH 4/4] configures stmp with google - localy - to send emails and adds gem letter opener if showing view localy required --- Gemfile | 3 +++ Gemfile.lock | 6 ++++++ app/controllers/friends_controller.rb | 5 +++-- config/environments/development.rb | 4 ++-- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index 676edce..9a73661 100644 --- a/Gemfile +++ b/Gemfile @@ -19,6 +19,9 @@ group :development do gem 'spring' gem 'guard' gem 'guard-livereload', require: false + gem "letter_opener" + #gem para ver los correos que se envían cuando estoy local + #requiere una configuración local en environtment end # Use ActiveModel has_secure_password diff --git a/Gemfile.lock b/Gemfile.lock index 2b18e36..9ab4f56 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -27,6 +27,7 @@ GEM minitest (~> 5.1) thread_safe (~> 0.1) tzinfo (~> 1.1) + addressable (2.3.6) arel (5.0.1.20140414130214) bcrypt (3.1.7) builder (3.2.2) @@ -79,6 +80,10 @@ GEM railties (>= 3.0, < 5.0) thor (>= 0.14, < 2.0) json (1.8.1) + launchy (2.4.3) + addressable (~> 2.3) + letter_opener (1.3.0) + launchy (~> 2.2) listen (2.7.11) celluloid (>= 0.15.2) rb-fsevent (>= 0.9.3) @@ -166,6 +171,7 @@ DEPENDENCIES guard-livereload jbuilder (~> 2.0) jquery-rails + letter_opener pry rails (= 4.1.6) sass-rails (~> 4.0.3) diff --git a/app/controllers/friends_controller.rb b/app/controllers/friends_controller.rb index 7d940c3..1f935d1 100644 --- a/app/controllers/friends_controller.rb +++ b/app/controllers/friends_controller.rb @@ -16,11 +16,12 @@ def like current_user.likes.create(friend_id: @friend.id, liked: like_or_unlike) if @friend.liked?(current_user) - render :match - FriendMailer.email_friend(@friend, current_user).deliver FriendMailer.email_current_user(@current_user , @friend).deliver + render :match + + else redirect_to root_path end diff --git a/config/environments/development.rb b/config/environments/development.rb index cb2a443..4666e18 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -40,8 +40,8 @@ address: 'smtp.gmail.com', port: 587, domain: 'gmail.com', - user_name: '', - password: '', + user_name: ENV['GMAIL_USERNAME'], + password: ENV['GMAIL_PASSWORD'], authentication: 'plain', enable_starttls_auto: true } end