Method: Viewpoint::EWS::GenericFolder#subscribe

Defined in:
lib/model/generic_folder.rb

#subscribe(event_types = @@event_types) ⇒ Boolean

TODO:

Add custom Exception for EWS

Subscribe this folder to events. This method initiates an Exchange pull type subscription.

Parameters:

  • event_types (Array) (defaults to: @@event_types)

    Which event types to subscribe to. By default we subscribe to all Exchange event types: CopiedEvent, CreatedEvent, DeletedEvent, ModifiedEvent, MovedEvent, NewMailEvent, FreeBusyChangedEvent

Returns:

  • (Boolean)

    Did the subscription happen successfully?



192
193
194
195
196
197
198
199
200
201
202
203
204
# File 'lib/model/generic_folder.rb', line 192

def subscribe(event_types = @@event_types)
  # Refresh the subscription if already subscribed
  unsubscribe if subscribed?

  resp = (Viewpoint::EWS::EWS.instance).ews.subscribe([folder_id],event_types)
  if(resp.status == 'Success')
    @subscription_id = resp.items.first[:subscription_id][:text]
    @watermark = resp.items.first[:watermark][:text]
    return true
  else
    raise StandardError, "Error: #{resp.message}"
  end
end