forgeplus/app/services/notice/write/email_create_service.rb

40 lines
817 B
Ruby

class Notice::Write::EmailCreateService < Notice::Write::ClientService
attr_accessor :receivers, :sender, :content, :subject
def initialize(receivers, subject, content, sender=-1)
@receivers = receivers
@sender = sender
@content = content
@subject = subject
end
def call
return nil if request_receivers.blank?
result = post(url, request_params)
response = render_response(result)
end
private
def request_receivers
receivers.is_a?(Array) ? receivers.join(",") : receivers
end
def request_subject
"#{subject}"
end
def request_params
Hash.new.merge(data: {
emails: request_receivers,
sender: sender,
content: content,
subject: request_subject
}.stringify_keys)
end
def url
"/email/#{platform}".freeze
end
end