Class: Kentaa::Api::Resources::NewsletterSubscription

Inherits:
Resource
  • Object
show all
Defined in:
lib/kentaa/api/resources/newsletter_subscription.rb

Instance Attribute Summary

Attributes inherited from Resource

#id

Attributes inherited from Base

#config, #endpoint_path, #options, #resource_class

Instance Method Summary collapse

Methods inherited from Resource

#create, #created_at, #delete, #initialize, #load, #save, #updated_at

Methods inherited from Base

attribute_key, #initialize, #load, #loaded?

Constructor Details

This class inherits a constructor from Kentaa::Api::Resources::Resource

Instance Method Details



71
72
73
74
75
# File 'lib/kentaa/api/resources/newsletter_subscription.rb', line 71

def consent
  Kentaa::Api::Deprecation.warn('#consent is deprecated. Please use #consents instead.', caller)

  @consent ||= Kentaa::Api::Resources::Consent.new(data[:consent]) if data[:consent]
end

#consentsObject



77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/kentaa/api/resources/newsletter_subscription.rb', line 77

def consents
  @consents ||= begin
    consents = []

    if data[:consents]
      data[:consents].each do |consent|
        consents << Kentaa::Api::Resources::Consent.new(consent)
      end
    end

    consents
  end
end

#donation_form_idObject



47
48
49
# File 'lib/kentaa/api/resources/newsletter_subscription.rb', line 47

def donation_form_id
  data[:donation_form_id]
end

#emailObject



59
60
61
# File 'lib/kentaa/api/resources/newsletter_subscription.rb', line 59

def email
  data[:email]
end

#entityObject



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/kentaa/api/resources/newsletter_subscription.rb', line 11

def entity
  if project_id
    Kentaa::Api::Resources::Project.new(config, id: project_id, options: options)
  elsif segment_id
    Kentaa::Api::Resources::Segment.new(config, id: segment_id, options: options)
  elsif donation_form_id
    Kentaa::Api::Resources::DonationForm.new(config, id: donation_form_id, options: options)
  else
    Kentaa::Api::Resources::Site.new(config, id: site_id, options: options)
  end
end

#first_nameObject



27
28
29
# File 'lib/kentaa/api/resources/newsletter_subscription.rb', line 27

def first_name
  data[:first_name]
end

#infixObject



31
32
33
# File 'lib/kentaa/api/resources/newsletter_subscription.rb', line 31

def infix
  data[:infix]
end

#last_nameObject



35
36
37
# File 'lib/kentaa/api/resources/newsletter_subscription.rb', line 35

def last_name
  data[:last_name]
end

#localeObject



63
64
65
# File 'lib/kentaa/api/resources/newsletter_subscription.rb', line 63

def locale
  data[:locale]
end

#nameObject



39
40
41
# File 'lib/kentaa/api/resources/newsletter_subscription.rb', line 39

def name
  [first_name, infix, last_name].reject { |s| s.to_s.empty? }.join(' ')
end

#object_keyObject



7
8
9
# File 'lib/kentaa/api/resources/newsletter_subscription.rb', line 7

def object_key
  "NewsletterSubscription_#{id}"
end

#project_idObject



55
56
57
# File 'lib/kentaa/api/resources/newsletter_subscription.rb', line 55

def project_id
  data[:project_id]
end

#segment_idObject



51
52
53
# File 'lib/kentaa/api/resources/newsletter_subscription.rb', line 51

def segment_id
  data[:segment_id]
end

#siteObject



23
24
25
# File 'lib/kentaa/api/resources/newsletter_subscription.rb', line 23

def site
  Kentaa::Api::Resources::Site.new(config, id: site_id, options: options)
end

#site_idObject



43
44
45
# File 'lib/kentaa/api/resources/newsletter_subscription.rb', line 43

def site_id
  data[:site_id]
end

#subscription_urlObject



67
68
69
# File 'lib/kentaa/api/resources/newsletter_subscription.rb', line 67

def subscription_url
  data[:subscription_url]
end