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



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