calendly 0.8.3 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 706fe58387318797ed3fed0c46c629a52eaa9b3ef2b22ed160bbbb203e8b7ad8
4
- data.tar.gz: 1329d04a6eeeb29da76a83b0b36e716368df61766055ea11684552d337526617
3
+ metadata.gz: e963f8454cbbe7258a4d48a39903e48dfeade06599a5b7082b1539f96683be3a
4
+ data.tar.gz: 65e386995a0f23f6f860e031855d30198c654959b54ff8820e8dbf0524f570da
5
5
  SHA512:
6
- metadata.gz: 6b14cc3eb57722550794456b53405bdad576b426218beca539b8c92949e060ec75c9374d17b5fa3aea2835d863c57483bcf0a51bbe9c931ed35b1c61e259c709
7
- data.tar.gz: 9a526d1719c5eca1f8bf43823b95e22307f650e5b5a833cf93caffb40c1d2b7094f9c9e452dc3e0dc3164e2fba645b4489027d5f6a0b20a52bc01af7c9541af7
6
+ metadata.gz: f62928cf0d2381f92c18f203e830df716b07608e973dab83c716f471ab14b10b631de844e06fa24df634df35b64cb42efb37a1011de897c235c7eb0aed90069d
7
+ data.tar.gz: 533661d0e183c24efbd53124dcfabce96812d3e6aa794afb25a9716bfb0d093d1a89e81c2cac4b968e8404c260cebd5b22c7e946204fcde0b1bff0bf575348f4
data/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 0.9.0 - 2022-04-14
4
+
5
+ - supported no show APIs. (#45)
6
+ - `GET /invitee_no_shows/{no_show_uuid}`
7
+ - `POST /invitee_no_shows`
8
+ - `DELETE /invitee_no_shows/{no_show_uuid}`
9
+ - changed files:
10
+ - Client
11
+ - (Add method) invitee_no_show
12
+ - (Add method) create_invitee_no_show
13
+ - (Add method) delete_invitee_no_show
14
+ - Invitee model
15
+ - (Add field) no_show
16
+ - (Add method) mark_no_show
17
+ - (Add method) unmark_no_show
18
+ - (New) InviteeNoShow model
19
+ - To simplify `require` statements changed `Model::ASSOCIATION` constant to class methods and removed unused lines.
20
+
3
21
  ## 0.8.3 - 2022-03-08
4
22
 
5
23
  - support for filtering Event Types by 'active' or 'inactive' status. (#43)
data/calendly.gemspec CHANGED
@@ -34,6 +34,7 @@ Gem::Specification.new do |spec|
34
34
  spec.add_development_dependency 'codecov'
35
35
  spec.add_development_dependency 'minitest'
36
36
  spec.add_development_dependency 'rake'
37
+ spec.add_development_dependency 'rubocop'
37
38
  spec.add_development_dependency 'simplecov'
38
39
  spec.add_development_dependency 'webmock'
39
40
  end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'oauth2'
4
+ require 'calendly/loggable'
4
5
 
5
6
  module Calendly
6
7
  # Calendly apis client.
@@ -281,6 +282,55 @@ module Calendly
281
282
  [evs, next_page_params(body)]
282
283
  end
283
284
 
285
+ #
286
+ # Get Invitee No Show
287
+ # Returns information about a specified Invitee No Show.
288
+ #
289
+ # @param [String] uuid the specified no show.
290
+ # @return [Calendly::InviteeNoShow]
291
+ # @raise [Calendly::Error] if the uuid arg is empty.
292
+ # @raise [Calendly::ApiError] if the api returns error code.
293
+ # @since 0.9.0
294
+ def invitee_no_show(uuid)
295
+ check_not_empty uuid, 'uuid'
296
+ body = request :get, "invitee_no_shows/#{uuid}"
297
+ InviteeNoShow.new body[:resource], self
298
+ end
299
+
300
+ #
301
+ # Create Invitee No Show
302
+ # Marks an Invitee as a No Show.
303
+ #
304
+ # @param [String] invitee_uri the specified invitee's uri.
305
+ # @return [Calendly::InviteeNoShow]
306
+ # @raise [Calendly::Error] if the invitee_uri arg is empty.
307
+ # @raise [Calendly::ApiError] if the api returns error code.
308
+ # @since 0.9.0
309
+ def create_invitee_no_show(invitee_uri)
310
+ check_not_empty invitee_uri, 'invitee_uri'
311
+ body = request(
312
+ :post,
313
+ 'invitee_no_shows',
314
+ body: {invitee: invitee_uri}
315
+ )
316
+ InviteeNoShow.new body[:resource], self
317
+ end
318
+
319
+ #
320
+ # Delete Invitee No Show
321
+ # Undoes marking an Invitee as a No Show.
322
+ #
323
+ # @param [String] uuid the specified no show.
324
+ # @return [true]
325
+ # @raise [Calendly::Error] if the uuid arg is empty.
326
+ # @raise [Calendly::ApiError] if the api returns error code.
327
+ # @since 0.9.0
328
+ def delete_invitee_no_show(uuid)
329
+ check_not_empty uuid, 'uuid'
330
+ request :delete, "invitee_no_shows/#{uuid}"
331
+ true
332
+ end
333
+
284
334
  #
285
335
  # Returns information about a user's organization membership
286
336
  #
@@ -1,13 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'calendly/client'
4
- require 'calendly/models/model_utils'
5
- require 'calendly/models/event_type'
6
- require 'calendly/models/guest'
7
- require 'calendly/models/invitee_cancellation'
8
- require 'calendly/models/invitees_counter'
9
- require 'calendly/models/location'
10
-
11
3
  module Calendly
12
4
  # Calendly's event model.
13
5
  # A meeting that has been scheduled.
@@ -15,13 +7,16 @@ module Calendly
15
7
  include ModelUtils
16
8
  UUID_RE = %r{\A#{Client::API_HOST}/scheduled_events/(#{UUID_FORMAT})\z}.freeze
17
9
  TIME_FIELDS = %i[start_time end_time created_at updated_at].freeze
18
- ASSOCIATION = {
19
- event_type: EventType,
20
- event_guests: Guest,
21
- cancellation: InviteeCancellation,
22
- invitees_counter: InviteesCounter,
23
- location: Location
24
- }.freeze
10
+
11
+ def self.association
12
+ {
13
+ event_type: EventType,
14
+ event_guests: Guest,
15
+ cancellation: InviteeCancellation,
16
+ invitees_counter: InviteesCounter,
17
+ location: Location
18
+ }
19
+ end
25
20
 
26
21
  # @return [String]
27
22
  # unique id of the Event object.
@@ -1,10 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'calendly/client'
4
- require 'calendly/models/model_utils'
5
- require 'calendly/models/event_type_profile'
6
- require 'calendly/models/event_type_custom_question'
7
-
8
3
  module Calendly
9
4
  # Calendly's event type model.
10
5
  # A configuration for a schedulable event.
@@ -12,7 +7,13 @@ module Calendly
12
7
  include ModelUtils
13
8
  UUID_RE = %r{\A#{Client::API_HOST}/event_types/(#{UUID_FORMAT})\z}.freeze
14
9
  TIME_FIELDS = %i[created_at updated_at].freeze
15
- ASSOCIATION = {profile: EventTypeProfile, custom_questions: EventTypeCustomQuestion}.freeze
10
+
11
+ def self.association
12
+ {
13
+ profile: EventTypeProfile,
14
+ custom_questions: EventTypeCustomQuestion
15
+ }
16
+ end
16
17
 
17
18
  # @return [String]
18
19
  # unique id of the EventType object.
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'calendly/models/model_utils'
4
-
5
3
  module Calendly
6
4
  # Calendly's custom question model.
7
5
  class EventTypeCustomQuestion
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'calendly/models/model_utils'
4
-
5
3
  module Calendly
6
4
  # Calendly's event type profile model.
7
5
  class EventTypeProfile
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'calendly/models/model_utils'
4
-
5
3
  module Calendly
6
4
  # Calendly's guest model.
7
5
  # Additional people added to an event by an invitee.
@@ -1,27 +1,31 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'calendly/client'
4
- require 'calendly/models/model_utils'
5
- require 'calendly/models/event'
6
- require 'calendly/models/invitee_cancellation'
7
- require 'calendly/models/invitee_payment'
8
- require 'calendly/models/invitee_question_and_answer'
9
- require 'calendly/models/invitee_tracking'
10
-
11
3
  module Calendly
12
4
  # Calendly's invitee model.
13
5
  # An individual who has been invited to meet with a Calendly member.
14
6
  class Invitee
15
7
  include ModelUtils
16
- UUID_RE = %r{\A#{Client::API_HOST}/scheduled_events/#{UUID_FORMAT}/invitees/(#{UUID_FORMAT})\z}.freeze
8
+ UUID_RE = %r{\A#{Client::API_HOST}/scheduled_events/(#{UUID_FORMAT})/invitees/(#{UUID_FORMAT})\z}.freeze
9
+ UUID_RE_INDEX = 2
17
10
  TIME_FIELDS = %i[created_at updated_at].freeze
18
- ASSOCIATION = {
19
- event: Event,
20
- cancellation: InviteeCancellation,
21
- payment: InviteePayment,
22
- questions_and_answers: InviteeQuestionAndAnswer,
23
- tracking: InviteeTracking
24
- }.freeze
11
+
12
+ def self.association
13
+ {
14
+ event: Event,
15
+ cancellation: InviteeCancellation,
16
+ payment: InviteePayment,
17
+ no_show: InviteeNoShow,
18
+ questions_and_answers: InviteeQuestionAndAnswer,
19
+ tracking: InviteeTracking
20
+ }
21
+ end
22
+
23
+ def self.extract_event_uuid(str)
24
+ m = extract_uuid_match str
25
+ return unless m
26
+
27
+ m[1]
28
+ end
25
29
 
26
30
  # @return [String]
27
31
  # unique id of the Invitee object.
@@ -96,6 +100,10 @@ module Calendly
96
100
  # @return [InviteePayment] Invitee payment.
97
101
  attr_accessor :payment
98
102
 
103
+ # @return [InviteeNoShow, nil]
104
+ # Provides data pertaining to the associated no show for the Invitee.
105
+ attr_accessor :no_show
106
+
99
107
  # @return [Event]
100
108
  # Reference to Event associated with this invitee.
101
109
  attr_accessor :event
@@ -116,8 +124,47 @@ module Calendly
116
124
  # @raise [Calendly::ApiError] if the api returns error code.
117
125
  # @since 0.1.0
118
126
  def fetch
119
- ev_uuid = event.uuid if event
120
- client.event_invitee ev_uuid, uuid
127
+ client.event_invitee event&.uuid, uuid
128
+ end
129
+
130
+ #
131
+ # Marks as a No Show.
132
+ # If already marked as a No Show, do nothing.
133
+ #
134
+ # @return [Calendly::InviteeNoShow]
135
+ # @raise [Calendly::Error] if the uri is empty.
136
+ # @raise [Calendly::ApiError] if the api returns error code.
137
+ # @since 0.9.0
138
+ def mark_no_show
139
+ return no_show if no_show
140
+
141
+ @no_show = client.create_invitee_no_show uri
142
+ end
143
+
144
+ #
145
+ # Unmarks as a No Show.
146
+ # If already unmarked as a No Show, do nothing.
147
+ #
148
+ # @return [true, nil]
149
+ # @raise [Calendly::Error] if the no_show.uuid is empty.
150
+ # @raise [Calendly::ApiError] if the api returns error code.
151
+ # @since 0.9.0
152
+ def unmark_no_show
153
+ return unless no_show
154
+
155
+ no_show.delete
156
+ @no_show = nil
157
+ true
158
+ end
159
+
160
+ private
161
+
162
+ def after_set_attributes(attrs)
163
+ super attrs
164
+ if event.nil? && attrs[:uri]
165
+ event_uuid = Invitee.extract_event_uuid attrs[:uri]
166
+ @event = Event.new({uuid: event_uuid}, @client) if event_uuid
167
+ end
121
168
  end
122
169
  end
123
170
  end
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'calendly/models/model_utils'
4
-
5
3
  module Calendly
6
4
  # Calendly's invitee cancellation model.
7
5
  # Provides data pertaining to the cancellation of the Invitee.
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Calendly
4
+ # Calendly's invitee no show model.
5
+ class InviteeNoShow
6
+ include ModelUtils
7
+ UUID_RE = %r{\A#{Client::API_HOST}/invitee_no_shows/(#{UUID_FORMAT})\z}.freeze
8
+ TIME_FIELDS = %i[created_at].freeze
9
+
10
+ def self.association
11
+ {
12
+ invitee: Invitee
13
+ }
14
+ end
15
+
16
+ # @return [String]
17
+ # unique id of the InviteeNoShow object.
18
+ attr_accessor :uuid
19
+
20
+ # @return [String]
21
+ # Canonical reference (unique identifier) for the no show.
22
+ attr_accessor :uri
23
+
24
+ # @return [Time]
25
+ # The moment when the no show was created.
26
+ attr_accessor :created_at
27
+
28
+ # @return [Invitee, nil]
29
+ # The associated Invitee.
30
+ attr_accessor :invitee
31
+
32
+ #
33
+ # Get Invitee No Show associated with self.
34
+ #
35
+ # @return [Calendly::InviteeNoShow]
36
+ # @raise [Calendly::Error] if the uuid is empty.
37
+ # @raise [Calendly::ApiError] if the api returns error code.
38
+ # @since 0.9.0
39
+ def fetch
40
+ client.invitee_no_show uuid
41
+ end
42
+
43
+ #
44
+ # Unmarks as a No Show.
45
+ #
46
+ # @return [true]
47
+ # @raise [Calendly::Error] if the uuid is empty.
48
+ # @raise [Calendly::ApiError] if the api returns error code.
49
+ # @since 0.9.0
50
+ def delete
51
+ client.delete_invitee_no_show uuid
52
+ end
53
+ end
54
+ end
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'calendly/models/model_utils'
4
-
5
3
  module Calendly
6
4
  # Calendly's invitee payment model.
7
5
  class InviteePayment
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'calendly/models/model_utils'
4
-
5
3
  module Calendly
6
4
  # Calendly's question and answer model.
7
5
  # An individual form question and response.
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'calendly/models/model_utils'
4
-
5
3
  module Calendly
6
4
  # Calendly's invitee tracking model.
7
5
  # Object that represents UTM and Salesforce tracking parameters associated with the invitee.
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'calendly/models/model_utils'
4
-
5
3
  module Calendly
6
4
  # Calendly's invitees counter model.
7
5
  class InviteesCounter
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'calendly/models/model_utils'
4
-
5
3
  module Calendly
6
4
  # Calendly's location model.
7
5
  # The polymorphic base type for an event location that Calendly supports
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'time'
4
- require 'calendly/error'
5
4
 
6
5
  module Calendly
7
6
  # Calendly model utility.
@@ -58,15 +57,19 @@ module Calendly
58
57
  end
59
58
 
60
59
  module ClassMethods
61
- def extract_uuid(str)
60
+ def extract_uuid_match(str)
62
61
  return unless defined? self::UUID_RE
63
62
  return unless str
64
63
  return if str.empty?
65
64
 
66
- m = self::UUID_RE.match str
67
- return if m.nil?
65
+ self::UUID_RE.match str
66
+ end
68
67
 
69
- m[1]
68
+ def extract_uuid(str)
69
+ m = extract_uuid_match str
70
+ return unless m
71
+
72
+ defined?(self::UUID_RE_INDEX) ? m[self::UUID_RE_INDEX] : m[1]
70
73
  end
71
74
  end
72
75
 
@@ -84,8 +87,8 @@ module Calendly
84
87
  attrs.each do |key, value|
85
88
  next unless respond_to? "#{key}=".to_sym
86
89
 
87
- if value && defined?(self.class::ASSOCIATION) && self.class::ASSOCIATION.key?(key)
88
- klass = self.class::ASSOCIATION[key]
90
+ if value && defined?(self.class.association) && self.class.association.key?(key)
91
+ klass = self.class.association[key]
89
92
  if value.is_a? String # rubocop:disable Style/CaseLikeIf
90
93
  value = klass.new({uri: value}, @client)
91
94
  elsif value.is_a? Hash
@@ -102,7 +105,10 @@ module Calendly
102
105
  end
103
106
 
104
107
  def after_set_attributes(attrs)
105
- @uuid = self.class.extract_uuid(attrs[:uri]) if respond_to? :uuid=
108
+ return unless respond_to? :uuid=
109
+ return unless attrs[:uri]
110
+
111
+ @uuid = self.class.extract_uuid(attrs[:uri])
106
112
  end
107
113
 
108
114
  #
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'calendly/client'
4
- require 'calendly/models/model_utils'
5
-
6
3
  module Calendly
7
4
  # Calendly's organization model.
8
5
  class Organization
@@ -1,17 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'calendly/client'
4
- require 'calendly/models/model_utils'
5
- require 'calendly/models/organization'
6
- require 'calendly/models/user'
7
-
8
3
  module Calendly
9
4
  # Calendly's organization invitation model.
10
5
  class OrganizationInvitation
11
6
  include ModelUtils
12
7
  UUID_RE = %r{\A#{Client::API_HOST}/organizations/#{UUID_FORMAT}/invitations/(#{UUID_FORMAT})\z}.freeze
13
8
  TIME_FIELDS = %i[created_at updated_at last_sent_at].freeze
14
- ASSOCIATION = {user: User, organization: Organization}.freeze
9
+
10
+ def self.association
11
+ {
12
+ user: User,
13
+ organization: Organization
14
+ }
15
+ end
15
16
 
16
17
  # @return [String]
17
18
  # unique id of the OrganizationInvitation object.
@@ -58,8 +59,7 @@ module Calendly
58
59
  # @raise [Calendly::ApiError] if the api returns error code.
59
60
  # @since 0.1.0
60
61
  def fetch
61
- org_uuid = organization.uuid if organization
62
- client.invitation org_uuid, uuid
62
+ client.invitation organization&.uuid, uuid
63
63
  end
64
64
 
65
65
  #
@@ -71,8 +71,7 @@ module Calendly
71
71
  # @raise [Calendly::ApiError] if the api returns error code.
72
72
  # @since 0.1.0
73
73
  def delete
74
- org_uuid = organization.uuid if organization
75
- client.delete_invitation org_uuid, uuid
74
+ client.delete_invitation organization&.uuid, uuid
76
75
  end
77
76
  end
78
77
  end
@@ -1,17 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'calendly/client'
4
- require 'calendly/models/model_utils'
5
- require 'calendly/models/organization'
6
- require 'calendly/models/user'
7
-
8
3
  module Calendly
9
4
  # Calendly's organization membership model.
10
5
  class OrganizationMembership
11
6
  include ModelUtils
12
7
  UUID_RE = %r{\A#{Client::API_HOST}/organization_memberships/(#{UUID_FORMAT})\z}.freeze
13
8
  TIME_FIELDS = %i[created_at updated_at].freeze
14
- ASSOCIATION = {user: User, organization: Organization}.freeze
9
+
10
+ def self.association
11
+ {
12
+ user: User,
13
+ organization: Organization
14
+ }
15
+ end
15
16
 
16
17
  # @return [String]
17
18
  # unique id of the OrganizationMembership object.
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'calendly/client'
4
- require 'calendly/models/model_utils'
5
-
6
3
  module Calendly
7
4
  # Calendly's team model.
8
5
  class Team
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'calendly/client'
4
- require 'calendly/models/model_utils'
5
-
6
3
  module Calendly
7
4
  # Calendly's user model.
8
5
  # Primary account details of a specific user.
@@ -10,7 +7,12 @@ module Calendly
10
7
  include ModelUtils
11
8
  UUID_RE = %r{\A#{Client::API_HOST}/users/(#{UUID_FORMAT})\z}.freeze
12
9
  TIME_FIELDS = %i[created_at updated_at].freeze
13
- ASSOCIATION = {current_organization: Organization}.freeze
10
+
11
+ def self.association
12
+ {
13
+ current_organization: Organization
14
+ }
15
+ end
14
16
 
15
17
  # @return [String]
16
18
  # unique id of the User object.
@@ -1,17 +1,19 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'calendly/client'
4
- require 'calendly/models/model_utils'
5
- require 'calendly/models/organization'
6
- require 'calendly/models/user'
7
-
8
3
  module Calendly
9
4
  # Calendly's webhook model.
10
5
  class WebhookSubscription
11
6
  include ModelUtils
12
7
  UUID_RE = %r{\A#{Client::API_HOST}/webhook_subscriptions/(#{UUID_FORMAT})\z}.freeze
13
8
  TIME_FIELDS = %i[created_at updated_at retry_started_at].freeze
14
- ASSOCIATION = {organization: Organization, user: User, creator: User}.freeze
9
+
10
+ def self.association
11
+ {
12
+ organization: Organization,
13
+ user: User,
14
+ creator: User
15
+ }
16
+ end
15
17
 
16
18
  # @return [String]
17
19
  # unique id of the WebhookSubscription object.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Calendly
4
- VERSION = '0.8.3'
4
+ VERSION = '0.9.0'
5
5
  end
data/lib/calendly.rb CHANGED
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'calendly/client'
4
+ require 'calendly/models/model_utils'
3
5
  Dir[
4
6
  File.join(
5
7
  File.dirname(__FILE__),
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: calendly
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.3
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kenji Koshikawa
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-03-08 00:00:00.000000000 Z
11
+ date: 2022-04-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oauth2
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rubocop
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: simplecov
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -141,6 +155,7 @@ files:
141
155
  - lib/calendly/models/guest.rb
142
156
  - lib/calendly/models/invitee.rb
143
157
  - lib/calendly/models/invitee_cancellation.rb
158
+ - lib/calendly/models/invitee_no_show.rb
144
159
  - lib/calendly/models/invitee_payment.rb
145
160
  - lib/calendly/models/invitee_question_and_answer.rb
146
161
  - lib/calendly/models/invitee_tracking.rb
@@ -161,7 +176,7 @@ metadata:
161
176
  homepage_uri: https://github.com/koshilife/calendly-api-ruby-client
162
177
  source_code_uri: https://github.com/koshilife/calendly-api-ruby-client
163
178
  changelog_uri: https://github.com/koshilife/calendly-api-ruby-client/blob/master/CHANGELOG.md
164
- documentation_uri: https://www.rubydoc.info/gems/calendly/0.8.3
179
+ documentation_uri: https://www.rubydoc.info/gems/calendly/0.9.0
165
180
  post_install_message:
166
181
  rdoc_options: []
167
182
  require_paths: