Thanks for your answer,

The thing is, the mails being sent with the scheduled jobs are not in a 
Controller, they are in the UserMailer and they're easy to access via the 
UserMailer.daily_mail(user).deliver_now

What I'd like to do, is having a similar thing with SMS. Maybe create a 
SMSController. The thing is I don't know how to access a method of a 
Controller from outside. 

Le vendredi 24 juillet 2015 01:13:58 UTC+2, thiagocifani a écrit :
>
> Hello Marco, as you can see, you can send email or sms in the same way. 
> The only thing you can do to avoid repetition, you should move the sms 
> logic to a service class and instantiate it in the controller and in a rake 
> task to send it from time to time.
>
> I hope I helped you somehow.
>
> 2015-07-23 19:35 GMT-03:00 Marco Dias <dias...@gmail.com <javascript:>>:
>
>> I want send an SMS each 5 minutes to my users. At the moment, my 
>> application sends an SMS during the creation of an account.
>>  
>>  
>>    # users_controller.rb
>>     def create
>>           @user = User.new(user_params)
>>           if @user.save
>>             @user.send_activation_email
>>             @user.send_daily_sms
>>             flash[:info] = "Veuillez contrôler votre boîte mail pour 
>> activer votre compte."
>>             redirect_to root_url
>>           else
>>             render 'new'
>>           end
>>         end
>>
>>
>>     # user.rb
>>     def send_daily_sms
>>     
>>         # put your own credentials here 
>>         account_sid = '**********************' 
>>         auth_token = '**********************' 
>>      
>>         # set up a client to talk to the Twilio REST API 
>>         @client = Twilio::REST::Client.new account_sid, auth_token 
>>      
>>         @client.account.messages.create({
>>         :from => '**********', 
>>         :to => '***********', 
>>         :body => 'Salut',  
>>         })
>>       end
>>
>>
>> I already have scheduled mails working in my project by doing this :
>>
>>    
>>  # schedule.rb
>>     every :day, :at => '12pm' do    
>>       rake "email_sender_daily"
>>     end
>>     # My task
>>     task :email_sender_daily => :environment do |_, args|
>>       User.find_each do |user|
>>         UserMailer.daily_mail(user).deliver_now if user.daily == true
>>       end
>>     end
>>     # My UserMailer
>>     def daily_mail(user)
>>     @user = user
>>     mail to: user.email, subject: "Mail journalier"
>>     end
>>
>>
>> I'm showing you this because, with the UserMailer, I know how to access 
>> it from an other file. Here, I'd like to do the exactly the same for SMS, 
>> but how can I access the method that is in my Model ? If not, where can I 
>> put this method to be able to access it from my rake task ? 
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Ruby on Rails: Talk" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to rubyonrails-ta...@googlegroups.com <javascript:>.
>> To post to this group, send email to rubyonra...@googlegroups.com 
>> <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/rubyonrails-talk/6977da81-1fd7-47d6-a16d-36d63afedea7%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/rubyonrails-talk/6977da81-1fd7-47d6-a16d-36d63afedea7%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> -- 
> thiagocifani
> http://about.me/thiagocifani <http://del.icio.us/thiagocifani>
> <http://del.icio.us/thiagocifani>
>
> 

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/7b0d4325-04b0-4e8e-a72d-3197623a87d9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to