lib/nylas.rb in nylas-5.17.0 vs lib/nylas.rb in nylas-6.0.0.beta.1
- old
+ new
@@ -5,160 +5,32 @@
# BUGFIX
# See https://github.com/sparklemotion/http-cookie/issues/27
# and https://github.com/sparklemotion/http-cookie/issues/6
#
-# CookieJar uses unsafe class caching for dynamically loading cookie jars
-# If 2 rest-client instances are instantiated at the same time, (in threads)
-# non-deterministic behaviour can occur whereby the Hash cookie jar isn't
-# properly loaded and cached.
-# Forcing an instantiation of the jar onload will force the CookieJar to load
-# before the system has a chance to spawn any threads.
-# Note this should technically be fixed in rest-client itself however that
-# library appears to be stagnant so we're forced to fix it here
-# This object should get GC'd as it's not referenced by anything
+# CookieJar uses unsafe class caching for dynamically loading cookie jars.
+# If two rest-client instances are instantiated at the same time (in threads), non-deterministic
+# behaviour can occur whereby the Hash cookie jar isn't properly loaded and cached.
+# Forcing an instantiation of the jar onload will force the CookieJar to load before the system has
+# a chance to spawn any threads.
+# Note that this should technically be fixed in rest-client itself, however that library appears to
+# be stagnant so we're forced to fix it here.
+# This object should get GC'd as it's not referenced by anything.
HTTP::CookieJar.new
require "ostruct"
require "forwardable"
require_relative "nylas/version"
require_relative "nylas/errors"
+require_relative "nylas/client"
+require_relative "nylas/config"
-require_relative "nylas/logging"
-require_relative "nylas/registry"
-require_relative "nylas/types"
-require_relative "nylas/constraints"
+require_relative "nylas/handler/http_client"
-require_relative "nylas/http_client"
-require_relative "nylas/api"
-require_relative "nylas/collection"
-require_relative "nylas/model"
-
-# Attribute types supported by the API
-require_relative "nylas/email_address"
-require_relative "nylas/event"
-require_relative "nylas/file"
-require_relative "nylas/folder"
-require_relative "nylas/im_address"
-require_relative "nylas/label"
-require_relative "nylas/message_headers"
-require_relative "nylas/message_tracking"
-require_relative "nylas/participant"
-require_relative "nylas/physical_address"
-require_relative "nylas/phone_number"
-require_relative "nylas/recurrence"
-require_relative "nylas/rsvp"
-require_relative "nylas/timespan"
-require_relative "nylas/web_page"
-require_relative "nylas/nylas_date"
-require_relative "nylas/when"
-require_relative "nylas/free_busy"
-require_relative "nylas/time_slot"
-require_relative "nylas/time_slot_capacity"
-require_relative "nylas/open_hours"
-require_relative "nylas/event_conferencing"
-require_relative "nylas/event_conferencing_details"
-require_relative "nylas/event_conferencing_autocreate"
-require_relative "nylas/event_notification"
-require_relative "nylas/component"
-
-# Custom collection types
-require_relative "nylas/event_collection"
-require_relative "nylas/search_collection"
-require_relative "nylas/deltas_collection"
-require_relative "nylas/free_busy_collection"
-require_relative "nylas/calendar_collection"
-require_relative "nylas/component_collection"
-require_relative "nylas/scheduler_collection"
-require_relative "nylas/job_status_collection"
-require_relative "nylas/outbox"
-
-# Models supported by the API
-require_relative "nylas/account"
-require_relative "nylas/calendar"
-require_relative "nylas/contact"
-require_relative "nylas/contact_group"
-require_relative "nylas/current_account"
-require_relative "nylas/deltas"
-require_relative "nylas/delta"
-require_relative "nylas/draft"
-require_relative "nylas/message"
-require_relative "nylas/room_resource"
-require_relative "nylas/new_message"
-require_relative "nylas/raw_message"
-require_relative "nylas/thread"
-require_relative "nylas/webhook"
-require_relative "nylas/scheduler"
-require_relative "nylas/job_status"
-require_relative "nylas/token_info"
-require_relative "nylas/application_details"
-require_relative "nylas/outbox_message"
-require_relative "nylas/outbox_job_status"
-require_relative "nylas/send_grid_verified_status"
-
-# Neural specific types
-require_relative "nylas/neural"
-require_relative "nylas/neural_sentiment_analysis"
-require_relative "nylas/neural_ocr"
-require_relative "nylas/neural_categorizer"
-require_relative "nylas/neural_clean_conversation"
-require_relative "nylas/neural_contact_link"
-require_relative "nylas/neural_contact_name"
-require_relative "nylas/neural_signature_contact"
-require_relative "nylas/neural_signature_extraction"
-require_relative "nylas/neural_message_options"
-require_relative "nylas/categorize"
-require_relative "nylas/scheduler_config"
-require_relative "nylas/scheduler_time_slot"
-require_relative "nylas/scheduler_booking_request"
-require_relative "nylas/scheduler_booking_confirmation"
-
-require_relative "nylas/native_authentication"
-
-require_relative "nylas/filter_attributes"
-
-require_relative "nylas/services/tunnel"
-# an SDK for interacting with the Nylas API
-# @see https://docs.nylas.com/reference
-module Nylas
- Types.registry[:account] = Types::ModelType.new(model: Account)
- Types.registry[:calendar] = Types::ModelType.new(model: Calendar)
- Types.registry[:contact] = Types::ModelType.new(model: Contact)
- Types.registry[:delta] = DeltaType.new
- Types.registry[:draft] = Types::ModelType.new(model: Draft)
- Types.registry[:email_address] = Types::ModelType.new(model: EmailAddress)
- Types.registry[:event] = Types::ModelType.new(model: Event)
- Types.registry[:file] = Types::ModelType.new(model: File)
- Types.registry[:folder] = Types::ModelType.new(model: Folder)
- Types.registry[:im_address] = Types::ModelType.new(model: IMAddress)
- Types.registry[:label] = Types::ModelType.new(model: Label)
- Types.registry[:room_resource] = Types::ModelType.new(model: RoomResource)
- Types.registry[:message] = Types::ModelType.new(model: Message)
- Types.registry[:message_headers] = MessageHeadersType.new
- Types.registry[:message_tracking] = Types::ModelType.new(model: MessageTracking)
- Types.registry[:participant] = Types::ModelType.new(model: Participant)
- Types.registry[:physical_address] = Types::ModelType.new(model: PhysicalAddress)
- Types.registry[:phone_number] = Types::ModelType.new(model: PhoneNumber)
- Types.registry[:recurrence] = Types::ModelType.new(model: Recurrence)
- Types.registry[:thread] = Types::ModelType.new(model: Thread)
- Types.registry[:timespan] = Types::ModelType.new(model: Timespan)
- Types.registry[:web_page] = Types::ModelType.new(model: WebPage)
- Types.registry[:nylas_date] = NylasDateType.new
- Types.registry[:contact_group] = Types::ModelType.new(model: ContactGroup)
- Types.registry[:when] = Types::ModelType.new(model: When)
- Types.registry[:time_slot] = Types::ModelType.new(model: TimeSlot)
- Types.registry[:time_slot_capacity] = Types::ModelType.new(model: TimeSlotCapacity)
- Types.registry[:event_conferencing] = Types::ModelType.new(model: EventConferencing)
- Types.registry[:event_conferencing_details] = Types::ModelType.new(model: EventConferencingDetails)
- Types.registry[:event_conferencing_autocreate] = Types::ModelType.new(model: EventConferencingAutocreate)
- Types.registry[:event_notification] = Types::ModelType.new(model: EventNotification)
- Types.registry[:neural] = Types::ModelType.new(model: Neural)
- Types.registry[:categorize] = Types::ModelType.new(model: Categorize)
- Types.registry[:neural_signature_contact] = Types::ModelType.new(model: NeuralSignatureContact)
- Types.registry[:neural_contact_link] = Types::ModelType.new(model: NeuralContactLink)
- Types.registry[:neural_contact_name] = Types::ModelType.new(model: NeuralContactName)
- Types.registry[:scheduler_config] = Types::ModelType.new(model: SchedulerConfig)
- Types.registry[:scheduler_time_slot] = Types::ModelType.new(model: SchedulerTimeSlot)
- Types.registry[:job_status] = Types::ModelType.new(model: JobStatus)
- Types.registry[:outbox_message] = Types::ModelType.new(model: OutboxMessage)
-end
+require_relative "nylas/resources/applications"
+require_relative "nylas/resources/auth"
+require_relative "nylas/resources/calendars"
+require_relative "nylas/resources/events"
+require_relative "nylas/resources/grants"
+require_relative "nylas/resources/redirect_uris"
+require_relative "nylas/resources/webhooks"