Class: SendGrid::Mail

Inherits:
Object
  • Object
show all
Defined in:
lib/sendgrid/helpers/mail/mail.rb

Instance Method Summary collapse

Constructor Details

#initialize(from_email = nil, subj = nil, to_email = nil, cont = nil) ⇒ Mail

Returns a new instance of Mail.



801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
# File 'lib/sendgrid/helpers/mail/mail.rb', line 801

def initialize(from_email=nil, subj=nil, to_email=nil, cont=nil)
  @from = nil
  @subject = nil
  @personalizations = nil
  @contents = nil
  @attachments = nil
  @template_id = nil
  @sections = nil
  @headers = nil
  @categories = nil
  @custom_args = nil
  @send_at = nil
  @batch_id = nil
  @asm = nil
  @ip_pool_name = nil
  @mail_settings = nil
  @tracking_settings = nil
  @reply_to = nil

  if !(from_email.nil? && subj.nil? && to_email.nil? && cont.nil?)
    self.from = from_email
    self.subject = subj
    personalization = Personalization.new
    personalization.to = to_email
    self.personalizations = personalization
    self.contents = cont
  end
end

Instance Method Details

#asmObject



941
942
943
# File 'lib/sendgrid/helpers/mail/mail.rb', line 941

def asm
  @asm.nil? ? nil : @asm.to_json
end

#asm=(asm) ⇒ Object



937
938
939
# File 'lib/sendgrid/helpers/mail/mail.rb', line 937

def asm=(asm)
  @asm = asm
end

#attachmentsObject



869
870
871
# File 'lib/sendgrid/helpers/mail/mail.rb', line 869

def attachments
  @attachments
end

#attachments=(attachments) ⇒ Object



864
865
866
867
# File 'lib/sendgrid/helpers/mail/mail.rb', line 864

def attachments=(attachments)
  @attachments = @attachments.nil? ? [] : @attachments
  @attachments = @attachments.push(attachments.to_json)
end

#batch_idObject



933
934
935
# File 'lib/sendgrid/helpers/mail/mail.rb', line 933

def batch_id
  @batch_id
end

#batch_id=(batch_id) ⇒ Object



929
930
931
# File 'lib/sendgrid/helpers/mail/mail.rb', line 929

def batch_id=(batch_id)
  @batch_id = batch_id
end

#categoriesObject



907
908
909
# File 'lib/sendgrid/helpers/mail/mail.rb', line 907

def categories
  @categories
end

#categories=(category) ⇒ Object



901
902
903
904
905
# File 'lib/sendgrid/helpers/mail/mail.rb', line 901

def categories=(category)
  @categories = @categories.nil? ? [] : @categories
  category = category.to_json
  @categories = @categories.push(category['category'])
end

#contentsObject



860
861
862
# File 'lib/sendgrid/helpers/mail/mail.rb', line 860

def contents
  @contents
end

#contents=(content) ⇒ Object



855
856
857
858
# File 'lib/sendgrid/helpers/mail/mail.rb', line 855

def contents=(content)
  @contents = @contents ? @contents : []
  @contents = @contents.push(content.to_json)
end

#custom_argsObject



917
918
919
# File 'lib/sendgrid/helpers/mail/mail.rb', line 917

def custom_args
  @custom_args
end

#custom_args=(custom_args) ⇒ Object



911
912
913
914
915
# File 'lib/sendgrid/helpers/mail/mail.rb', line 911

def custom_args=(custom_args)
  @custom_args = @custom_args.nil? ? {} : @custom_args
  custom_args = custom_args.to_json
  @custom_args = @custom_args.merge(custom_args['custom_arg'])
end

#fromObject



834
835
836
# File 'lib/sendgrid/helpers/mail/mail.rb', line 834

def from
  @from.nil? ? nil : @from.to_json
end

#from=(from) ⇒ Object



830
831
832
# File 'lib/sendgrid/helpers/mail/mail.rb', line 830

def from=(from)
  @from = from
end

#headersObject



897
898
899
# File 'lib/sendgrid/helpers/mail/mail.rb', line 897

def headers
  @headers
end

#headers=(headers) ⇒ Object



891
892
893
894
895
# File 'lib/sendgrid/helpers/mail/mail.rb', line 891

def headers=(headers)
  @headers = @headers.nil? ? {} : @headers
  headers = headers.to_json
  @headers = @headers.merge(headers['header'])
end

#ip_pool_nameObject



949
950
951
# File 'lib/sendgrid/helpers/mail/mail.rb', line 949

def ip_pool_name
  @ip_pool_name
end

#ip_pool_name=(ip_pool_name) ⇒ Object



945
946
947
# File 'lib/sendgrid/helpers/mail/mail.rb', line 945

def ip_pool_name=(ip_pool_name)
  @ip_pool_name = ip_pool_name
end

#mail_settingsObject



957
958
959
# File 'lib/sendgrid/helpers/mail/mail.rb', line 957

def mail_settings
  @mail_settings.nil? ? nil : @mail_settings.to_json
end

#mail_settings=(mail_settings) ⇒ Object



953
954
955
# File 'lib/sendgrid/helpers/mail/mail.rb', line 953

def mail_settings=(mail_settings)
  @mail_settings = mail_settings
end

#personalizationsObject



851
852
853
# File 'lib/sendgrid/helpers/mail/mail.rb', line 851

def personalizations
  @personalizations.nil? ? nil : @personalizations
end

#personalizations=(personalizations) ⇒ Object



846
847
848
849
# File 'lib/sendgrid/helpers/mail/mail.rb', line 846

def personalizations=(personalizations)
  @personalizations = @personalizations.nil? ? [] : @personalizations
  @personalizations = @personalizations.push(personalizations.to_json)
end

#reply_toObject



973
974
975
# File 'lib/sendgrid/helpers/mail/mail.rb', line 973

def reply_to
  @reply_to.nil? ? nil : @reply_to.to_json
end

#reply_to=(reply_to) ⇒ Object



969
970
971
# File 'lib/sendgrid/helpers/mail/mail.rb', line 969

def reply_to=(reply_to)
  @reply_to = reply_to
end

#sectionsObject



887
888
889
# File 'lib/sendgrid/helpers/mail/mail.rb', line 887

def sections
  @sections
end

#sections=(sections) ⇒ Object



881
882
883
884
885
# File 'lib/sendgrid/helpers/mail/mail.rb', line 881

def sections=(sections)
  @sections = @sections.nil? ? {} : @sections
  sections = sections.to_json
  @sections = @sections.merge(sections['section'])
end

#send_atObject



925
926
927
# File 'lib/sendgrid/helpers/mail/mail.rb', line 925

def send_at
  @send_at
end

#send_at=(send_at) ⇒ Object



921
922
923
# File 'lib/sendgrid/helpers/mail/mail.rb', line 921

def send_at=(send_at)
  @send_at = send_at
end

#subjectObject



842
843
844
# File 'lib/sendgrid/helpers/mail/mail.rb', line 842

def subject
  @subject
end

#subject=(subject) ⇒ Object



838
839
840
# File 'lib/sendgrid/helpers/mail/mail.rb', line 838

def subject=(subject)
  @subject = subject
end

#template_idObject



877
878
879
# File 'lib/sendgrid/helpers/mail/mail.rb', line 877

def template_id
  @template_id
end

#template_id=(template_id) ⇒ Object



873
874
875
# File 'lib/sendgrid/helpers/mail/mail.rb', line 873

def template_id=(template_id)
  @template_id = template_id
end

#to_jsonObject



977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
# File 'lib/sendgrid/helpers/mail/mail.rb', line 977

def to_json(*)
  {
    'from' => self.from,
    'subject' => self.subject,
    'personalizations' => self.personalizations,
    'content' => self.contents,
    'attachments' => self.attachments,
    'template_id' => self.template_id,
    'sections' => self.sections,
    'headers' => self.headers,
    'categories' => self.categories,
    'custom_args' => self.custom_args,
    'send_at' => self.send_at,
    'batch_id' => self.batch_id,
    'asm' => self.asm,
    'ip_pool_name' => self.ip_pool_name,
    'mail_settings' => self.mail_settings,
    'tracking_settings' => self.tracking_settings,
    'reply_to' => self.reply_to
  }.delete_if { |_, value| value.to_s.strip == '' }
end

#tracking_settingsObject



965
966
967
# File 'lib/sendgrid/helpers/mail/mail.rb', line 965

def tracking_settings
  @tracking_settings.nil? ? nil : @tracking_settings.to_json
end

#tracking_settings=(tracking_settings) ⇒ Object



961
962
963
# File 'lib/sendgrid/helpers/mail/mail.rb', line 961

def tracking_settings=(tracking_settings)
  @tracking_settings = tracking_settings
end