Class: IContact::Api
- Inherits:
-
Object
- Object
- IContact::Api
- Includes:
- Accounts, ClientFolders, Contacts, CustomFields, Lists, Subscriptions, Users, Connection
- Defined in:
- lib/icontact/api.rb,
lib/icontact/api/lists.rb,
lib/icontact/api/users.rb,
lib/icontact/api/accounts.rb,
lib/icontact/api/contacts.rb,
lib/icontact/api/custom_fields.rb,
lib/icontact/api/subscriptions.rb,
lib/icontact/api/client_folders.rb
Defined Under Namespace
Modules: Accounts, ClientFolders, Contacts, CustomFields, Lists, Subscriptions, Users
Constant Summary
Constants included from Connection
Connection::BASE_URL, Connection::DEFAULT_HEADERS
Instance Attribute Summary collapse
-
#account_id ⇒ Object
Returns the value of attribute account_id.
-
#app_id ⇒ Object
readonly
Returns the value of attribute app_id.
-
#client_folder_id ⇒ Object
Returns the value of attribute client_folder_id.
-
#password ⇒ Object
readonly
Returns the value of attribute password.
-
#username ⇒ Object
readonly
Returns the value of attribute username.
Instance Method Summary collapse
-
#initialize(username, password, app_id) ⇒ Api
constructor
A new instance of Api.
- #ping ⇒ Object
Methods included from Users
#create_user, #create_users, #delete_user, #get_user, #get_users, #update_user, #update_users
Methods included from Subscriptions
#create_subscription, #create_subscriptions, #get_subscription, #get_subscriptions, #move_contact, #update_subscription, #update_subscriptions
Methods included from Lists
#create_list, #create_lists, #delete_list, #get_list, #get_lists, #update_list, #update_list!, #update_lists
Methods included from CustomFields
#create_custom_field, #create_custom_fields, #delete_custom_field, #get_custom_field, #get_custom_fields, #update_custom_field, #update_custom_field!, #update_custom_fields
Methods included from Contacts
#create_contact, #create_contacts, #delete_contact, #find_contacts, #get_contact, #get_contacts, #update_contact, #update_contact!, #update_contacts
Methods included from ClientFolders
#create_client_folder, #create_client_folders, #get_client_folder, #get_client_folders, #update_client_folder, #update_client_folder!, #update_client_folders
Methods included from Accounts
#get_account, #get_accounts, #update_account
Methods included from Connection
Constructor Details
#initialize(username, password, app_id) ⇒ Api
Returns a new instance of Api.
21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/icontact/api.rb', line 21 def initialize(username, password, app_id) raise ArgumentError, 'Username cannot be nil' if username.nil? raise ArgumentError, 'Password cannot be nil' if password.nil? raise ArgumentError, 'App ID cannot be nil' if app_id.nil? @app_id = app_id @username = username @password = password @account_id = get_accounts.first['accountId'] raise IContact::NotAuthorized, 'Unable to find account' if account_id.nil? @client_folder_id = get_client_folders.first['clientFolderId'] raise IContact::NotAuthorized, 'Unable to find client folder' if client_folder_id.nil? end |
Instance Attribute Details
#account_id ⇒ Object
Returns the value of attribute account_id.
18 19 20 |
# File 'lib/icontact/api.rb', line 18 def account_id @account_id end |
#app_id ⇒ Object (readonly)
Returns the value of attribute app_id.
19 20 21 |
# File 'lib/icontact/api.rb', line 19 def app_id @app_id end |
#client_folder_id ⇒ Object
Returns the value of attribute client_folder_id.
18 19 20 |
# File 'lib/icontact/api.rb', line 18 def client_folder_id @client_folder_id end |
#password ⇒ Object (readonly)
Returns the value of attribute password.
19 20 21 |
# File 'lib/icontact/api.rb', line 19 def password @password end |
#username ⇒ Object (readonly)
Returns the value of attribute username.
19 20 21 |
# File 'lib/icontact/api.rb', line 19 def username @username end |
Instance Method Details
#ping ⇒ Object
35 36 37 38 39 40 |
# File 'lib/icontact/api.rb', line 35 def ping return false if account_id.nil? || client_folder_id.nil? url = "#{BASE_URL}/icp/a/#{account_id}/c/#{client_folder_id}/" response = connection.run_request(:get, url, '', headers) response.status.to_i == 200 end |