Class: DotMailer::Account
- Inherits:
-
Object
- Object
- DotMailer::Account
- Defined in:
- lib/dot_mailer/account.rb
Constant Summary collapse
- CACHE_LIFETIME =
1.minute
Instance Attribute Summary collapse
-
#client ⇒ Object
readonly
Returns the value of attribute client.
Instance Method Summary collapse
- #create_campaign(attributes) ⇒ Object
- #create_data_field(name, options = {}) ⇒ Object
- #data_fields ⇒ Object
- #find_campaign_by_id(id) ⇒ Object
- #find_contact_by_email(email) ⇒ Object
- #find_contact_by_id(id) ⇒ Object
- #find_contacts_modified_since(time) ⇒ Object
- #find_segment_by_id(id) ⇒ Object
- #find_suppressions_since(time) ⇒ Object
- #from_addresses ⇒ Object
- #import_contacts(contacts, options = {}) ⇒ Object
-
#initialize(api_user, api_pass) ⇒ Account
constructor
A new instance of Account.
- #inspect ⇒ Object
- #suppress(email) ⇒ Object
- #to_s ⇒ Object
Constructor Details
Instance Attribute Details
#client ⇒ Object
Returns the value of attribute client.
8 9 10 |
# File 'lib/dot_mailer/account.rb', line 8 def client @client end |
Instance Method Details
#create_campaign(attributes) ⇒ Object
58 59 60 |
# File 'lib/dot_mailer/account.rb', line 58 def create_campaign(attributes) Campaign.create(self, attributes) end |
#create_data_field(name, options = {}) ⇒ Object
20 21 22 23 24 |
# File 'lib/dot_mailer/account.rb', line 20 def create_data_field(name, = {}) DataField.create self, name, cache.delete 'data_fields' end |
#data_fields ⇒ Object
14 15 16 17 18 |
# File 'lib/dot_mailer/account.rb', line 14 def data_fields cache.fetch 'data_fields' do DataField.all self end end |
#find_campaign_by_id(id) ⇒ Object
62 63 64 |
# File 'lib/dot_mailer/account.rb', line 62 def find_campaign_by_id(id) Campaign.find_by_id(self, id) end |
#find_contact_by_email(email) ⇒ Object
30 31 32 |
# File 'lib/dot_mailer/account.rb', line 30 def find_contact_by_email(email) Contact.find_by_email self, email end |
#find_contact_by_id(id) ⇒ Object
34 35 36 |
# File 'lib/dot_mailer/account.rb', line 34 def find_contact_by_id(id) Contact.find_by_id self, id end |
#find_contacts_modified_since(time) ⇒ Object
38 39 40 |
# File 'lib/dot_mailer/account.rb', line 38 def find_contacts_modified_since(time) Contact.modified_since(self, time) end |
#find_segment_by_id(id) ⇒ Object
66 67 68 |
# File 'lib/dot_mailer/account.rb', line 66 def find_segment_by_id(id) DotMailer::Segment.find_by_id(self, id) end |
#find_suppressions_since(time) ⇒ Object
42 43 44 |
# File 'lib/dot_mailer/account.rb', line 42 def find_suppressions_since(time) Suppression.suppressed_since(self, time) end |
#from_addresses ⇒ Object
50 51 52 53 54 55 56 |
# File 'lib/dot_mailer/account.rb', line 50 def from_addresses response = cache.fetch 'from_addresses' do client.get('/custom-from-addresses') end response.map { |a| FromAddress.new(a) } end |
#import_contacts(contacts, options = {}) ⇒ Object
26 27 28 |
# File 'lib/dot_mailer/account.rb', line 26 def import_contacts(contacts, = {}) ContactImport.import self, contacts, [:wait_for_finish] end |
#inspect ⇒ Object
74 75 76 |
# File 'lib/dot_mailer/account.rb', line 74 def inspect to_s end |
#suppress(email) ⇒ Object
46 47 48 |
# File 'lib/dot_mailer/account.rb', line 46 def suppress(email) client.post_json '/contacts/unsubscribe', 'Email' => email end |
#to_s ⇒ Object
70 71 72 |
# File 'lib/dot_mailer/account.rb', line 70 def to_s "#{self.class.name} client: #{client}" end |