calendly 0.8.3 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
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: