forked from Gitlink/forgeplus
40 lines
817 B
Ruby
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 |