aboutsummaryrefslogtreecommitdiff
path: root/lib/member.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/member.ex')
-rw-r--r--lib/member.ex30
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/member.ex b/lib/member.ex
new file mode 100644
index 0000000..3f49722
--- /dev/null
+++ b/lib/member.ex
@@ -0,0 +1,30 @@
+defmodule Mailchimp.Member do
+ alias Mailchimp.Link
+
+ defstruct email_address: nil, email_client: nil, email_type: nil, id: nil, ip_opt: nil, ip_signup: nil, language: nil, last_changed: nil, list_id: nil, location: nil, member_rating: nil, merge_fields: nil, stats: nil, status: nil, status_if_new: nil, timestamp_opt: nil, timestamp_signup: nil, unique_email_id: nil, vip: nil
+
+ def new(attributes) do
+ %{
+ email_address: attributes[:email_address],
+ email_client: attributes[:email_client],
+ email_type: attributes[:email_type],
+ id: attributes[:id],
+ ip_opt: attributes[:ip_opt],
+ ip_signup: attributes[:ip_signup],
+ language: attributes[:language],
+ last_changed: attributes[:last_changed],
+ list_id: attributes[:list_id],
+ location: attributes[:location],
+ member_rating: attributes[:member_rating],
+ merge_fields: attributes[:merge_fields],
+ stats: attributes[:stats],
+ status: attributes[:status],
+ status_if_new: attributes[:status_if_new],
+ timestamp_opt: attributes[:timestamp_opt],
+ timestamp_signup: attributes[:timestamp_signup],
+ unique_email_id: attributes[:unique_email_id],
+ vip: attributes[:vip],
+ links: Link.get_links_from_attributes(attributes)
+ }
+ end
+end