Sha256: 584db98544f2d4301cfbdeef200183da315f68df9bedca5bd82c8e61ecec741a
Contents?: true
Size: 1.14 KB
Versions: 134
Compression:
Stored size: 1.14 KB
Contents
# frozen_string_literal: true require_dependency "renalware/messaging" # A form object used behind the html messages#new form, and serving to helps us capture # attributes for a Message and its Recipients. The MessageForm is passed to the SendMessage # object where it is persisted as a Message with many Recipients through Receipts. module Renalware module Messaging module Internal class MessageForm include ActiveModel::Model include Virtus::Model attribute :body, String attribute :subject, String attribute :urgent, Boolean, default: false attribute :recipient_ids, Array, default: [] attribute :replying_to_message_id validates :body, presence: true validates :subject, presence: true validates :recipient_ids, presence: true, length: { minimum: 1 } def initialize(attributes = {}) remove_blank_recipient_ids_from(attributes) super end private def remove_blank_recipient_ids_from(params) params[:recipient_ids].reject!(&:blank?) if params.key?(:recipient_ids) end end end end end
Version data entries
134 entries across 134 versions & 1 rubygems