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.