Class: Iterable::Api

Inherits:
Object
  • Object
show all
Defined in:
lib/iterable/api.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_key = nil) ⇒ Object

Class constructor

Parameters:

  • api_key (String) (defaults to: nil)
    • Iterable API Key



14
15
16
17
18
19
# File 'lib/iterable/api.rb', line 14

def initialize(api_key = nil)
  @api_key = api_key || Util::Config.get('auth.api_key')
  if @api_key.nil? || @api_key == ''
    raise ArgumentError.new(Util::Config.get('errors.api_key_missing'))
  end
end

Instance Attribute Details

#api_keyObject

Returns the value of attribute api_key.



9
10
11
# File 'lib/iterable/api.rb', line 9

def api_key
  @api_key
end

Instance Method Details

#list_by_id(list_id) ⇒ Object



32
33
34
# File 'lib/iterable/api.rb', line 32

def list_by_id(list_id)
  Services::ListService.new(@api_key).find_by_id(list_id)
end

#listsObject

List Services



24
25
26
# File 'lib/iterable/api.rb', line 24

def lists
  Services::ListService.new(@api_key).all
end

#lists_subscribe(list_id, subscribers) ⇒ Object



28
29
30
# File 'lib/iterable/api.rb', line 28

def lists_subscribe(list_id, subscribers)
  Services::ListService.new(@api_key).subscribe(list_id, subscribers)
end

#track_event(event) ⇒ Object

Event Services



61
62
63
# File 'lib/iterable/api.rb', line 61

def track_event(event)
  Services::EventService.new(@api_key).track(event)
end

#track_purchase(track_purchase_request) ⇒ Object

Commerce Services



68
69
70
# File 'lib/iterable/api.rb', line 68

def track_purchase(track_purchase_request)
  Services::CommerceService.new(@api_key).track_purchase(track_purchase_request)
end

#trigger_workflow(workflow_trigger) ⇒ Object

Workflow Services



75
76
77
# File 'lib/iterable/api.rb', line 75

def trigger_workflow(workflow_trigger)
  Services::WorkflowService.new(@api_key).trigger_workflow(workflow_trigger)
end

#update_cart(update_cart_request) ⇒ Object



79
80
81
# File 'lib/iterable/api.rb', line 79

def update_cart(update_cart_request)
  Services::CommerceService.new(@api_key).update_cart(update_cart_request)
end

#user_by_email(email) ⇒ Object

User Services



39
40
41
# File 'lib/iterable/api.rb', line 39

def user_by_email(email)
  Services::UserService.new(@api_key).find_by_email(email)
end

#user_by_id(id) ⇒ Object



43
44
45
# File 'lib/iterable/api.rb', line 43

def user_by_id(id)
  Services::UserService.new(@api_key).find_by_id(id)
end

#user_fieldsObject



51
52
53
# File 'lib/iterable/api.rb', line 51

def user_fields
  Services::UserService.new(@api_key).fields
end

#user_subscriptions_updateObject



55
56
# File 'lib/iterable/api.rb', line 55

def user_subscriptions_update
end

#user_update(user) ⇒ Object



47
48
49
# File 'lib/iterable/api.rb', line 47

def user_update(user)
  Services::UserService.new(@api_key).update(user)
end