diff --git a/lib/calendly/models/event.rb b/lib/calendly/models/event.rb index c103212..117d0eb 100644 --- a/lib/calendly/models/event.rb +++ b/lib/calendly/models/event.rb @@ -128,11 +128,14 @@ def invitees!(options: nil) def after_set_attributes(attrs) super attrs - if event_memberships.is_a? Array # rubocop:disable Style/GuardClause - @event_memberships = event_memberships.map do |params| - uri = params[:user] - User.new({uri: uri}, @client) - end + + return unless event_memberships.is_a? Array + + @event_memberships = event_memberships.map do |params| + uri = params[:user] + email = params[:user_email] + + User.new({uri: uri, email: email}, @client) end end end diff --git a/test/assert_helper.rb b/test/assert_helper.rb index df07257..dd043be 100644 --- a/test/assert_helper.rb +++ b/test/assert_helper.rb @@ -364,6 +364,7 @@ def assert_event001(ev) assert user.is_a? Calendly::User assert_equal 'U001', user.id assert_equal 'https://api.calendly.com/users/U001', user.uri + assert_equal 'user_U001@email.com', user.email assert_equal 1, ev.event_guests.length guest = ev.event_guests[0] @@ -398,6 +399,7 @@ def assert_event002(ev) assert user.is_a? Calendly::User assert_equal 'U001', user.id assert_equal 'https://api.calendly.com/users/U001', user.uri + assert_equal 'user_U001@email.com', user.email assert_equal 2, ev.event_guests.length guest = ev.event_guests[0] @@ -440,10 +442,12 @@ def assert_event011(ev) assert user.is_a? Calendly::User assert_equal 'U001', user.id assert_equal 'https://api.calendly.com/users/U001', user.uri + assert_equal 'user_U001@email.com', user.email user = ev.event_memberships[1] assert user.is_a? Calendly::User assert_equal 'U101', user.id assert_equal 'https://api.calendly.com/users/U101', user.uri + assert_equal 'user_U101@email.com', user.email assert_equal [], ev.event_guests end @@ -473,10 +477,12 @@ def assert_event012(ev) assert user.is_a? Calendly::User assert_equal 'U001', user.id assert_equal 'https://api.calendly.com/users/U001', user.uri + assert_equal 'user_U001@email.com', user.email user = ev.event_memberships[1] assert user.is_a? Calendly::User assert_equal 'U102', user.id assert_equal 'https://api.calendly.com/users/U102', user.uri + assert_equal 'user_U102@email.com', user.email assert_equal [], ev.event_guests end @@ -506,10 +512,12 @@ def assert_event013(ev) assert user.is_a? Calendly::User assert_equal 'U001', user.id assert_equal 'https://api.calendly.com/users/U001', user.uri + assert_equal 'user_U001@email.com', user.email user = ev.event_memberships[1] assert user.is_a? Calendly::User assert_equal 'U103', user.id assert_equal 'https://api.calendly.com/users/U103', user.uri + assert_equal 'user_U103@email.com', user.email assert_equal [], ev.event_guests end diff --git a/test/testdata/scheduled_event_001.json b/test/testdata/scheduled_event_001.json index 2f98399..a9e622d 100644 --- a/test/testdata/scheduled_event_001.json +++ b/test/testdata/scheduled_event_001.json @@ -16,7 +16,8 @@ ], "event_memberships": [ { - "user": "https://api.calendly.com/users/U001" + "user": "https://api.calendly.com/users/U001", + "user_email": "user_U001@email.com" } ], "event_type": "https://api.calendly.com/event_types/ET001", diff --git a/test/testdata/scheduled_events_001.json b/test/testdata/scheduled_events_001.json index 0d8a72e..ec8eb91 100644 --- a/test/testdata/scheduled_events_001.json +++ b/test/testdata/scheduled_events_001.json @@ -17,7 +17,8 @@ ], "event_memberships": [ { - "user": "https://api.calendly.com/users/U001" + "user": "https://api.calendly.com/users/U001", + "user_email": "user_U001@email.com" } ], "event_type": "https://api.calendly.com/event_types/ET001", @@ -50,7 +51,8 @@ ], "event_memberships": [ { - "user": "https://api.calendly.com/users/U001" + "user": "https://api.calendly.com/users/U001", + "user_email": "user_U001@email.com" } ], "event_type": "https://api.calendly.com/event_types/ET002", diff --git a/test/testdata/scheduled_events_002_page1.json b/test/testdata/scheduled_events_002_page1.json index b3f6951..7e7a56c 100644 --- a/test/testdata/scheduled_events_002_page1.json +++ b/test/testdata/scheduled_events_002_page1.json @@ -6,10 +6,12 @@ "event_guests": [], "event_memberships": [ { - "user": "https://api.calendly.com/users/U001" + "user": "https://api.calendly.com/users/U001", + "user_email": "user_U001@email.com" }, { - "user": "https://api.calendly.com/users/U103" + "user": "https://api.calendly.com/users/U103", + "user_email": "user_U103@email.com" } ], "event_type": "https://api.calendly.com/event_types/ET003", @@ -35,10 +37,12 @@ "event_guests": [], "event_memberships": [ { - "user": "https://api.calendly.com/users/U001" + "user": "https://api.calendly.com/users/U001", + "user_email": "user_U001@email.com" }, { - "user": "https://api.calendly.com/users/U102" + "user": "https://api.calendly.com/users/U102", + "user_email": "user_U102@email.com" } ], "event_type": "https://api.calendly.com/event_types/ET002", diff --git a/test/testdata/scheduled_events_002_page1_user.json b/test/testdata/scheduled_events_002_page1_user.json index bd83e7a..4500732 100644 --- a/test/testdata/scheduled_events_002_page1_user.json +++ b/test/testdata/scheduled_events_002_page1_user.json @@ -6,10 +6,12 @@ "event_guests": [], "event_memberships": [ { - "user": "https://api.calendly.com/users/U001" + "user": "https://api.calendly.com/users/U001", + "user_email": "user_U001@email.com" }, { - "user": "https://api.calendly.com/users/U103" + "user": "https://api.calendly.com/users/U103", + "user_email": "user_U103@email.com" } ], "event_type": "https://api.calendly.com/event_types/ET003", @@ -35,10 +37,12 @@ "event_guests": [], "event_memberships": [ { - "user": "https://api.calendly.com/users/U001" + "user": "https://api.calendly.com/users/U001", + "user_email": "user_U001@email.com" }, { - "user": "https://api.calendly.com/users/U102" + "user": "https://api.calendly.com/users/U102", + "user_email": "user_U102@email.com" } ], "event_type": "https://api.calendly.com/event_types/ET002", diff --git a/test/testdata/scheduled_events_002_page2.json b/test/testdata/scheduled_events_002_page2.json index 0b45783..3702737 100644 --- a/test/testdata/scheduled_events_002_page2.json +++ b/test/testdata/scheduled_events_002_page2.json @@ -11,10 +11,12 @@ "event_guests": [], "event_memberships": [ { - "user": "https://api.calendly.com/users/U001" + "user": "https://api.calendly.com/users/U001", + "user_email": "user_U001@email.com" }, { - "user": "https://api.calendly.com/users/U101" + "user": "https://api.calendly.com/users/U101", + "user_email": "user_U101@email.com" } ], "event_type": "https://api.calendly.com/event_types/ET001",