lib/createsend/person.rb in createsend-2.5.1 vs lib/createsend/person.rb in createsend-3.0.0
- old
+ new
@@ -1,35 +1,35 @@
-require 'createsend'
-require 'json'
-
module CreateSend
# Represents a person and associated functionality.
- class Person
+ class Person < CreateSend
attr_reader :client_id
attr_reader :email_address
- def initialize(client_id, email_address)
+ def initialize(auth, client_id, email_address)
@client_id = client_id
@email_address = email_address
+ super
end
# Gets a person by client ID and email address.
- def self.get(client_id, email_address)
+ def self.get(auth, client_id, email_address)
options = { :query => { :email => email_address } }
- response = CreateSend.get "/clients/#{client_id}/people.json", options
+ cs = CreateSend.new auth
+ response = cs.get "/clients/#{client_id}/people.json", options
Hashie::Mash.new(response)
end
- # Adds a person to the client. password is optional. if ommitted, an
+ # Adds a person to the client. Password is optional. If ommitted, an
# email invitation will be sent to the person
- def self.add(client_id, email_address, name, access_level, password)
+ def self.add(auth, client_id, email_address, name, access_level, password)
options = { :body => {
:EmailAddress => email_address,
:Name => name,
:AccessLevel => access_level,
:Password => password }.to_json }
- response = CreateSend.post "/clients/#{client_id}/people.json", options
+ cs = CreateSend.new auth
+ response = cs.post "/clients/#{client_id}/people.json", options
Hashie::Mash.new(response)
end
# Updates the person details. password is optional and will only be
# updated if supplied
@@ -39,21 +39,21 @@
:body => {
:EmailAddress => new_email_address,
:Name => name,
:AccessLevel => access_level,
:Password => password }.to_json }
- CreateSend.put uri_for(client_id), options
+ put uri_for(client_id), options
# Update @email_address, so this object can continue to be used reliably
@email_address = new_email_address
end
# deletes this person from the client
def delete
options = { :query => { :email => @email_address } }
- CreateSend.delete uri_for(client_id), options
+ super uri_for(client_id), options
end
def uri_for(client_id)
- "/clients/#{client_id}/people.json"
+ "/clients/#{client_id}/people.json"
end
end
end
\ No newline at end of file