Module: SlackSender::DeliveryAxn::Validation

Included in:
SlackSender::DeliveryAxn
Defined in:
lib/slack_sender/delivery_axn/validation.rb

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/slack_sender/delivery_axn/validation.rb', line 6

def self.included(base)
  base.before do
    done! if explicit_blank_text_only?
    raise InvalidArgumentsError, ErrorMessages::NO_CONTENT_PROVIDED if content_blank?
    raise InvalidArgumentsError, ErrorMessages::INVALID_BLOCKS if blocks.present? && !blocks_valid?

    if files.present? || file_ids.present?
      raise InvalidArgumentsError, ErrorMessages::FILES_WITH_BLOCKS if blocks.present?
      raise InvalidArgumentsError, ErrorMessages::FILES_WITH_ATTACHMENTS if attachments.present?
      raise InvalidArgumentsError, ErrorMessages::FILES_WITH_ICON_EMOJI if icon_emoji.present?
    end
  end
end