Sha256: 6727eb99383534b004c8046de003b308f2ec013c8fd18ba98bdd4c806065c671

Contents?: true

Size: 976 Bytes

Versions: 2

Compression:

Stored size: 976 Bytes

Contents

require_dependency "love_monster/application_controller"

module LoveMonster
  class LovesController < ApplicationController
    # GET /
    def index
      @love = flash[:love_params] || Love.new
      @loves = Love.all.page(params[:page])
    end

    # POST /loves
    def create
      recipients = params[:love][:person_to]

      person_from = current_person

      loves = recipients.uniq.reject{ |r| r.blank? }.map do |recipient|
        person_to = Person.find_by_email(recipient)

        if person_to == nil
          next
        end

        love = Love.new(love_params)
        love.person_to = person_to
        love.person_from = person_from

        love
      end

      loves.compact.each do |love|
        love.save

        LovesMailer.new_love(love).deliver
      end

      redirect_to action: "index"
    end

    private
      def love_params
        params.require(:love).except(:person_to, :person_from).permit(:reason, :message)
      end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
love_monster-0.0.3 app/controllers/love_monster/loves_controller.rb
love_monster-0.0.2 app/controllers/love_monster/loves_controller.rb