calendlyr 0.7.4 → 0.10.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 +4 -4
- data/.github/workflows/ci.yml +9 -5
- data/.gitignore +2 -1
- data/CHANGELOG.md +66 -0
- data/README.md +31 -79
- data/calendlyr.gemspec +6 -7
- data/docs/resources/data_compliance.md +1 -1
- data/docs/resources/event_types/availability_schedule.md +28 -0
- data/docs/resources/event_types/event_type.md +18 -7
- data/docs/resources/events/cancellation.md +1 -1
- data/docs/resources/events/event.md +2 -2
- data/docs/resources/events/invitee.md +17 -0
- data/docs/resources/locations/location.md +16 -0
- data/docs/resources/organizations/organization.md +0 -9
- data/docs/resources/share.md +2 -9
- data/docs/resources/webhooks/invitee_payload.md +1 -1
- data/docs/resources/webhooks/payload.md +1 -1
- data/docs/resources/webhooks/subscription.md +1 -1
- data/lib/calendlyr/client.rb +20 -45
- data/lib/calendlyr/collection.rb +18 -3
- data/lib/calendlyr/error.rb +17 -26
- data/lib/calendlyr/object.rb +77 -14
- data/lib/calendlyr/objects/event_type.rb +0 -4
- data/lib/calendlyr/objects/event_types/availability_schedule.rb +8 -0
- data/lib/calendlyr/objects/events/invitee.rb +1 -1
- data/lib/calendlyr/objects/location.rb +4 -0
- data/lib/calendlyr/objects/organization.rb +0 -4
- data/lib/calendlyr/objects/share.rb +0 -5
- data/lib/calendlyr/resource.rb +34 -7
- data/lib/calendlyr/resources/event_types.rb +37 -0
- data/lib/calendlyr/resources/{event.rb → events.rb} +6 -1
- data/lib/calendlyr/resources/{group.rb → groups.rb} +1 -1
- data/lib/calendlyr/resources/locations.rb +8 -0
- data/lib/calendlyr/resources/{organization.rb → organizations.rb} +1 -1
- data/lib/calendlyr/resources/{routing_form.rb → routing_forms.rb} +1 -1
- data/lib/calendlyr/resources/{share.rb → shares.rb} +1 -1
- data/lib/calendlyr/resources/{user.rb → users.rb} +1 -1
- data/lib/calendlyr/resources/{webhook.rb → webhooks.rb} +1 -5
- data/lib/calendlyr/version.rb +1 -1
- data/lib/calendlyr.rb +15 -15
- data/test/calendlyr/client_test.rb +25 -0
- data/test/calendlyr/collection_test.rb +64 -0
- data/test/calendlyr/object_test.rb +32 -1
- data/test/calendlyr/objects/event_type_test.rb +0 -15
- data/test/calendlyr/objects/event_types/availability_schedule_test.rb +20 -0
- data/test/calendlyr/objects/events/cancellation_test.rb +1 -1
- data/test/calendlyr/objects/events/guest_test.rb +1 -1
- data/test/calendlyr/objects/events/invitee_no_show_test.rb +1 -1
- data/test/calendlyr/objects/events/invitee_test.rb +10 -3
- data/test/calendlyr/objects/location_test.rb +22 -0
- data/test/calendlyr/objects/organization_test.rb +0 -8
- data/test/calendlyr/objects/organizations/invitation_test.rb +1 -1
- data/test/calendlyr/objects/share_test.rb +3 -9
- data/test/calendlyr/resource_test.rb +178 -2
- data/test/calendlyr/resources/data_compliance_test.rb +1 -4
- data/test/calendlyr/resources/event_types_test.rb +48 -0
- data/test/calendlyr/resources/events_test.rb +19 -0
- data/test/calendlyr/resources/locations_test.rb +18 -0
- data/test/calendlyr/resources/webhooks_test.rb +0 -8
- data/test/fixtures/event_invitees/retrieve.json +11 -1
- data/test/fixtures/event_type_availability_schedules/list.json +17 -0
- data/test/fixtures/event_type_availability_schedules/update.json +3 -0
- data/test/fixtures/event_types/create.json +30 -0
- data/test/fixtures/event_types/update.json +30 -0
- data/test/fixtures/events/create_invitee.json +37 -0
- data/test/fixtures/events/retrieve.json +12 -2
- data/test/fixtures/locations/list.json +16 -0
- data/test/fixtures/objects/event.json +10 -2
- data/test/fixtures/objects/event_types/availability_schedule.json +6 -0
- data/test/fixtures/objects/location.json +5 -0
- data/test/test_helper.rb +9 -7
- metadata +47 -65
- data/docs/resources/event_types/available_time.md +0 -21
- data/docs/resources/event_types/membership.md +0 -29
- data/docs/resources/scheduling_link.md +0 -26
- data/lib/calendlyr/objects/event_types/available_time.rb +0 -4
- data/lib/calendlyr/objects/event_types/membership.rb +0 -11
- data/lib/calendlyr/objects/scheduling_link.rb +0 -9
- data/lib/calendlyr/resources/event_type.rb +0 -28
- data/lib/calendlyr/resources/outgoing_communication.rb +0 -8
- data/lib/calendlyr/resources/scheduling_link.rb +0 -8
- data/test/calendlyr/objects/event_types/available_time_test.rb +0 -20
- data/test/calendlyr/objects/event_types/membership_test.rb +0 -32
- data/test/calendlyr/objects/scheduling_link_test.rb +0 -17
- data/test/calendlyr/resources/event_types/membership_test.rb +0 -22
- data/test/calendlyr/resources/outgoing_communications_test.rb +0 -16
- data/test/calendlyr/resources/scheduling_links_test.rb +0 -15
- data/test/fixtures/event_type_available_times/list.json +0 -22
- data/test/fixtures/objects/event_types/available_time.json +0 -6
- data/test/fixtures/objects/event_types/membership.json +0 -65
- data/test/fixtures/objects/scheduling_links/event_type.json +0 -5
- data/test/fixtures/outgoing_communications/list.json +0 -26
- data/test/fixtures/scheduling_links/create.json +0 -7
- data/test/fixtures/webhooks/sample.json +0 -105
|
@@ -23,7 +23,9 @@
|
|
|
23
23
|
{
|
|
24
24
|
"user": "https://api.calendly.com/users/GBGBDCAADAEDCRZ2",
|
|
25
25
|
"user_email": "user@example.com",
|
|
26
|
-
"user_name": "John Smith"
|
|
26
|
+
"user_name": "John Smith",
|
|
27
|
+
"buffered_start_time": "2019-08-24T14:10:00.000000Z",
|
|
28
|
+
"buffered_end_time": "2019-08-24T14:20:00.000000Z"
|
|
27
29
|
}
|
|
28
30
|
],
|
|
29
31
|
"event_guests": [
|
|
@@ -32,5 +34,11 @@
|
|
|
32
34
|
"created_at": "2019-08-24T14:15:22.123456Z",
|
|
33
35
|
"updated_at": "2019-08-24T14:15:22.123456Z"
|
|
34
36
|
}
|
|
35
|
-
]
|
|
37
|
+
],
|
|
38
|
+
"cancellation": {
|
|
39
|
+
"canceled_by": "host",
|
|
40
|
+
"reason": "Rescheduled",
|
|
41
|
+
"canceler_type": "host",
|
|
42
|
+
"created_at": "2019-08-24T14:15:22.123456Z"
|
|
43
|
+
}
|
|
36
44
|
}
|
data/test/test_helper.rb
CHANGED
|
@@ -1,18 +1,14 @@
|
|
|
1
|
-
$LOAD_PATH.unshift File.expand_path("
|
|
1
|
+
$LOAD_PATH.unshift File.expand_path("../lib", __dir__)
|
|
2
2
|
|
|
3
3
|
require "simplecov"
|
|
4
4
|
SimpleCov.start
|
|
5
|
-
if ENV["CI"] == "true"
|
|
6
|
-
require "codecov"
|
|
7
|
-
SimpleCov.formatter = SimpleCov::Formatter::Codecov
|
|
8
|
-
end
|
|
9
5
|
require "calendlyr"
|
|
10
6
|
require "minitest/autorun"
|
|
11
7
|
require "webmock/minitest"
|
|
12
8
|
|
|
13
9
|
class Minitest::Test
|
|
14
10
|
def initialize(name)
|
|
15
|
-
|
|
11
|
+
stub_user_me_request
|
|
16
12
|
super
|
|
17
13
|
end
|
|
18
14
|
|
|
@@ -26,8 +22,14 @@ class Minitest::Test
|
|
|
26
22
|
|
|
27
23
|
def stub(path:, method: :get, body: {}, response: {})
|
|
28
24
|
stub_req = stub_request(method, "#{Calendlyr::Client::BASE_URL}/#{path}")
|
|
29
|
-
stub_req.with(body: body) if [
|
|
25
|
+
stub_req.with(body: body) if %i[post put patch].include?(method)
|
|
30
26
|
stub_req.to_return(**response)
|
|
31
27
|
stub_req
|
|
32
28
|
end
|
|
29
|
+
|
|
30
|
+
private
|
|
31
|
+
|
|
32
|
+
def stub_user_me_request
|
|
33
|
+
stub(path: "users/me", response: {body: fixture_file("users/retrieve"), status: 200})
|
|
34
|
+
end
|
|
33
35
|
end
|
metadata
CHANGED
|
@@ -1,99 +1,85 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: calendlyr
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.10.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- araluce
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2026-04-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
14
|
+
name: minitest
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
19
|
+
version: '5.25'
|
|
20
20
|
type: :development
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '
|
|
26
|
+
version: '5.25'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name:
|
|
28
|
+
name: rake
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
33
|
+
version: '13.2'
|
|
34
34
|
type: :development
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
40
|
+
version: '13.2'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name:
|
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
|
44
|
-
requirements:
|
|
45
|
-
- - ">="
|
|
46
|
-
- !ruby/object:Gem::Version
|
|
47
|
-
version: '0'
|
|
48
|
-
type: :development
|
|
49
|
-
prerelease: false
|
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
-
requirements:
|
|
52
|
-
- - ">="
|
|
53
|
-
- !ruby/object:Gem::Version
|
|
54
|
-
version: '0'
|
|
55
|
-
- !ruby/object:Gem::Dependency
|
|
56
|
-
name: webmock
|
|
42
|
+
name: simplecov
|
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
|
58
44
|
requirements:
|
|
59
45
|
- - "~>"
|
|
60
46
|
- !ruby/object:Gem::Version
|
|
61
|
-
version:
|
|
47
|
+
version: '0.21'
|
|
62
48
|
type: :development
|
|
63
49
|
prerelease: false
|
|
64
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
51
|
requirements:
|
|
66
52
|
- - "~>"
|
|
67
53
|
- !ruby/object:Gem::Version
|
|
68
|
-
version:
|
|
54
|
+
version: '0.21'
|
|
69
55
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name:
|
|
56
|
+
name: standard
|
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
|
72
58
|
requirements:
|
|
73
|
-
- - "
|
|
59
|
+
- - "~>"
|
|
74
60
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '
|
|
61
|
+
version: '1.37'
|
|
76
62
|
type: :development
|
|
77
63
|
prerelease: false
|
|
78
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
65
|
requirements:
|
|
80
|
-
- - "
|
|
66
|
+
- - "~>"
|
|
81
67
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '
|
|
68
|
+
version: '1.37'
|
|
83
69
|
- !ruby/object:Gem::Dependency
|
|
84
|
-
name:
|
|
70
|
+
name: webmock
|
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
|
86
72
|
requirements:
|
|
87
|
-
- - "
|
|
73
|
+
- - "~>"
|
|
88
74
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: '
|
|
75
|
+
version: '3.23'
|
|
90
76
|
type: :development
|
|
91
77
|
prerelease: false
|
|
92
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
79
|
requirements:
|
|
94
|
-
- - "
|
|
80
|
+
- - "~>"
|
|
95
81
|
- !ruby/object:Gem::Version
|
|
96
|
-
version: '
|
|
82
|
+
version: '3.23'
|
|
97
83
|
description: 'Ruby bindings for Calendly API. Calendly APIs can be found here: https://calendly.stoplight.io/docs/api-docs/'
|
|
98
84
|
email:
|
|
99
85
|
- araluce11@gmail.com
|
|
@@ -120,9 +106,8 @@ files:
|
|
|
120
106
|
- docs/resources/availabilities/user_availability_schedule.md
|
|
121
107
|
- docs/resources/availabilities/user_busy_time.md
|
|
122
108
|
- docs/resources/data_compliance.md
|
|
123
|
-
- docs/resources/event_types/
|
|
109
|
+
- docs/resources/event_types/availability_schedule.md
|
|
124
110
|
- docs/resources/event_types/event_type.md
|
|
125
|
-
- docs/resources/event_types/membership.md
|
|
126
111
|
- docs/resources/event_types/profile.md
|
|
127
112
|
- docs/resources/events/cancellation.md
|
|
128
113
|
- docs/resources/events/event.md
|
|
@@ -131,13 +116,13 @@ files:
|
|
|
131
116
|
- docs/resources/events/invitee_no_show.md
|
|
132
117
|
- docs/resources/groups/group.md
|
|
133
118
|
- docs/resources/groups/relationship.md
|
|
119
|
+
- docs/resources/locations/location.md
|
|
134
120
|
- docs/resources/organizations/invitation.md
|
|
135
121
|
- docs/resources/organizations/membership.md
|
|
136
122
|
- docs/resources/organizations/organization.md
|
|
137
123
|
- docs/resources/pagination.md
|
|
138
124
|
- docs/resources/routing_forms/routing_form.md
|
|
139
125
|
- docs/resources/routing_forms/submission.md
|
|
140
|
-
- docs/resources/scheduling_link.md
|
|
141
126
|
- docs/resources/share.md
|
|
142
127
|
- docs/resources/user.md
|
|
143
128
|
- docs/resources/webhooks/invitee_payload.md
|
|
@@ -154,8 +139,7 @@ files:
|
|
|
154
139
|
- lib/calendlyr/objects/availabilities/user_schedule.rb
|
|
155
140
|
- lib/calendlyr/objects/event.rb
|
|
156
141
|
- lib/calendlyr/objects/event_type.rb
|
|
157
|
-
- lib/calendlyr/objects/event_types/
|
|
158
|
-
- lib/calendlyr/objects/event_types/membership.rb
|
|
142
|
+
- lib/calendlyr/objects/event_types/availability_schedule.rb
|
|
159
143
|
- lib/calendlyr/objects/event_types/profile.rb
|
|
160
144
|
- lib/calendlyr/objects/events/cancellation.rb
|
|
161
145
|
- lib/calendlyr/objects/events/guest.rb
|
|
@@ -163,12 +147,12 @@ files:
|
|
|
163
147
|
- lib/calendlyr/objects/events/invitee_no_show.rb
|
|
164
148
|
- lib/calendlyr/objects/group.rb
|
|
165
149
|
- lib/calendlyr/objects/groups/relationship.rb
|
|
150
|
+
- lib/calendlyr/objects/location.rb
|
|
166
151
|
- lib/calendlyr/objects/organization.rb
|
|
167
152
|
- lib/calendlyr/objects/organizations/invitation.rb
|
|
168
153
|
- lib/calendlyr/objects/organizations/membership.rb
|
|
169
154
|
- lib/calendlyr/objects/routing_form.rb
|
|
170
155
|
- lib/calendlyr/objects/routing_forms/submission.rb
|
|
171
|
-
- lib/calendlyr/objects/scheduling_link.rb
|
|
172
156
|
- lib/calendlyr/objects/share.rb
|
|
173
157
|
- lib/calendlyr/objects/user.rb
|
|
174
158
|
- lib/calendlyr/objects/webhooks/invitee_payload.rb
|
|
@@ -177,18 +161,18 @@ files:
|
|
|
177
161
|
- lib/calendlyr/resource.rb
|
|
178
162
|
- lib/calendlyr/resources/availability.rb
|
|
179
163
|
- lib/calendlyr/resources/data_compliance.rb
|
|
180
|
-
- lib/calendlyr/resources/
|
|
181
|
-
- lib/calendlyr/resources/
|
|
182
|
-
- lib/calendlyr/resources/
|
|
183
|
-
- lib/calendlyr/resources/
|
|
184
|
-
- lib/calendlyr/resources/
|
|
185
|
-
- lib/calendlyr/resources/
|
|
186
|
-
- lib/calendlyr/resources/
|
|
187
|
-
- lib/calendlyr/resources/
|
|
188
|
-
- lib/calendlyr/resources/
|
|
189
|
-
- lib/calendlyr/resources/webhook.rb
|
|
164
|
+
- lib/calendlyr/resources/event_types.rb
|
|
165
|
+
- lib/calendlyr/resources/events.rb
|
|
166
|
+
- lib/calendlyr/resources/groups.rb
|
|
167
|
+
- lib/calendlyr/resources/locations.rb
|
|
168
|
+
- lib/calendlyr/resources/organizations.rb
|
|
169
|
+
- lib/calendlyr/resources/routing_forms.rb
|
|
170
|
+
- lib/calendlyr/resources/shares.rb
|
|
171
|
+
- lib/calendlyr/resources/users.rb
|
|
172
|
+
- lib/calendlyr/resources/webhooks.rb
|
|
190
173
|
- lib/calendlyr/version.rb
|
|
191
174
|
- test/calendlyr/client_test.rb
|
|
175
|
+
- test/calendlyr/collection_test.rb
|
|
192
176
|
- test/calendlyr/object_test.rb
|
|
193
177
|
- test/calendlyr/objects/activity_log_test.rb
|
|
194
178
|
- test/calendlyr/objects/availabilities/rule_test.rb
|
|
@@ -196,8 +180,7 @@ files:
|
|
|
196
180
|
- test/calendlyr/objects/availabilities/user_schedule_test.rb
|
|
197
181
|
- test/calendlyr/objects/event_test.rb
|
|
198
182
|
- test/calendlyr/objects/event_type_test.rb
|
|
199
|
-
- test/calendlyr/objects/event_types/
|
|
200
|
-
- test/calendlyr/objects/event_types/membership_test.rb
|
|
183
|
+
- test/calendlyr/objects/event_types/availability_schedule_test.rb
|
|
201
184
|
- test/calendlyr/objects/event_types/profile_test.rb
|
|
202
185
|
- test/calendlyr/objects/events/cancellation_test.rb
|
|
203
186
|
- test/calendlyr/objects/events/guest_test.rb
|
|
@@ -205,12 +188,12 @@ files:
|
|
|
205
188
|
- test/calendlyr/objects/events/invitee_test.rb
|
|
206
189
|
- test/calendlyr/objects/group_test.rb
|
|
207
190
|
- test/calendlyr/objects/groups/relationship_test.rb
|
|
191
|
+
- test/calendlyr/objects/location_test.rb
|
|
208
192
|
- test/calendlyr/objects/organization_test.rb
|
|
209
193
|
- test/calendlyr/objects/organizations/invitation_test.rb
|
|
210
194
|
- test/calendlyr/objects/organizations/membership_test.rb
|
|
211
195
|
- test/calendlyr/objects/routing_form_test.rb
|
|
212
196
|
- test/calendlyr/objects/routing_forms/submission_test.rb
|
|
213
|
-
- test/calendlyr/objects/scheduling_link_test.rb
|
|
214
197
|
- test/calendlyr/objects/share_test.rb
|
|
215
198
|
- test/calendlyr/objects/user_test.rb
|
|
216
199
|
- test/calendlyr/objects/webhooks/invite_payload_test.rb
|
|
@@ -220,14 +203,12 @@ files:
|
|
|
220
203
|
- test/calendlyr/resources/availabilities/user_busy_times_test.rb
|
|
221
204
|
- test/calendlyr/resources/availabilities/user_schedules_test.rb
|
|
222
205
|
- test/calendlyr/resources/data_compliance_test.rb
|
|
223
|
-
- test/calendlyr/resources/event_types/membership_test.rb
|
|
224
206
|
- test/calendlyr/resources/event_types_test.rb
|
|
225
207
|
- test/calendlyr/resources/events/invitee_test.rb
|
|
226
208
|
- test/calendlyr/resources/events_test.rb
|
|
227
209
|
- test/calendlyr/resources/groups_test.rb
|
|
210
|
+
- test/calendlyr/resources/locations_test.rb
|
|
228
211
|
- test/calendlyr/resources/organizations_test.rb
|
|
229
|
-
- test/calendlyr/resources/outgoing_communications_test.rb
|
|
230
|
-
- test/calendlyr/resources/scheduling_links_test.rb
|
|
231
212
|
- test/calendlyr/resources/users_test.rb
|
|
232
213
|
- test/calendlyr/resources/webhooks_test.rb
|
|
233
214
|
- test/calendlyr_test.rb
|
|
@@ -239,12 +220,16 @@ files:
|
|
|
239
220
|
- test/fixtures/data_compliance/delete_scheduled_event_data.json
|
|
240
221
|
- test/fixtures/event_invitees/list.json
|
|
241
222
|
- test/fixtures/event_invitees/retrieve.json
|
|
242
|
-
- test/fixtures/
|
|
223
|
+
- test/fixtures/event_type_availability_schedules/list.json
|
|
224
|
+
- test/fixtures/event_type_availability_schedules/update.json
|
|
243
225
|
- test/fixtures/event_type_hosts/list.json
|
|
226
|
+
- test/fixtures/event_types/create.json
|
|
244
227
|
- test/fixtures/event_types/create_one_off.json
|
|
245
228
|
- test/fixtures/event_types/list.json
|
|
246
229
|
- test/fixtures/event_types/retrieve.json
|
|
230
|
+
- test/fixtures/event_types/update.json
|
|
247
231
|
- test/fixtures/events/cancel_invitee.json
|
|
232
|
+
- test/fixtures/events/create_invitee.json
|
|
248
233
|
- test/fixtures/events/create_invitee_no_show.json
|
|
249
234
|
- test/fixtures/events/delete_invitee_no_show.json
|
|
250
235
|
- test/fixtures/events/list.json
|
|
@@ -254,6 +239,7 @@ files:
|
|
|
254
239
|
- test/fixtures/group_relationships/retrieve.json
|
|
255
240
|
- test/fixtures/groups/list.json
|
|
256
241
|
- test/fixtures/groups/retrieve.json
|
|
242
|
+
- test/fixtures/locations/list.json
|
|
257
243
|
- test/fixtures/objects/activity_log.json
|
|
258
244
|
- test/fixtures/objects/availabilities/rule.json
|
|
259
245
|
- test/fixtures/objects/availabilities/user_busy_time.json
|
|
@@ -262,8 +248,7 @@ files:
|
|
|
262
248
|
- test/fixtures/objects/event.json
|
|
263
249
|
- test/fixtures/objects/event_type.json
|
|
264
250
|
- test/fixtures/objects/event_type_host.json
|
|
265
|
-
- test/fixtures/objects/event_types/
|
|
266
|
-
- test/fixtures/objects/event_types/membership.json
|
|
251
|
+
- test/fixtures/objects/event_types/availability_schedule.json
|
|
267
252
|
- test/fixtures/objects/event_types/profile.json
|
|
268
253
|
- test/fixtures/objects/events/cancellation.json
|
|
269
254
|
- test/fixtures/objects/events/guest.json
|
|
@@ -271,12 +256,12 @@ files:
|
|
|
271
256
|
- test/fixtures/objects/events/invitee_no_show.json
|
|
272
257
|
- test/fixtures/objects/group.json
|
|
273
258
|
- test/fixtures/objects/groups/relationship.json
|
|
259
|
+
- test/fixtures/objects/location.json
|
|
274
260
|
- test/fixtures/objects/organization.json
|
|
275
261
|
- test/fixtures/objects/organizations/invitation.json
|
|
276
262
|
- test/fixtures/objects/organizations/membership.json
|
|
277
263
|
- test/fixtures/objects/routing_form.json
|
|
278
264
|
- test/fixtures/objects/routing_forms/submission.json
|
|
279
|
-
- test/fixtures/objects/scheduling_links/event_type.json
|
|
280
265
|
- test/fixtures/objects/share.json
|
|
281
266
|
- test/fixtures/objects/user.json
|
|
282
267
|
- test/fixtures/objects/webhooks/invite_payload.json
|
|
@@ -291,7 +276,6 @@ files:
|
|
|
291
276
|
- test/fixtures/organizations/retrieve_invitation.json
|
|
292
277
|
- test/fixtures/organizations/retrieve_membership.json
|
|
293
278
|
- test/fixtures/organizations/revoke_invitation.json
|
|
294
|
-
- test/fixtures/outgoing_communications/list.json
|
|
295
279
|
- test/fixtures/resources/400.json
|
|
296
280
|
- test/fixtures/resources/401.json
|
|
297
281
|
- test/fixtures/resources/403.json
|
|
@@ -304,7 +288,6 @@ files:
|
|
|
304
288
|
- test/fixtures/routing_forms/list_routing_form_submission.json
|
|
305
289
|
- test/fixtures/routing_forms/retrieve.json
|
|
306
290
|
- test/fixtures/routing_forms/retrieve_routing_form_submission.json
|
|
307
|
-
- test/fixtures/scheduling_links/create.json
|
|
308
291
|
- test/fixtures/shares/create.json
|
|
309
292
|
- test/fixtures/user_availability_schedules/list.json
|
|
310
293
|
- test/fixtures/user_availability_schedules/retrieve.json
|
|
@@ -315,7 +298,6 @@ files:
|
|
|
315
298
|
- test/fixtures/webhooks/delete.json
|
|
316
299
|
- test/fixtures/webhooks/list.json
|
|
317
300
|
- test/fixtures/webhooks/retrieve.json
|
|
318
|
-
- test/fixtures/webhooks/sample.json
|
|
319
301
|
- test/test_helper.rb
|
|
320
302
|
homepage: https://github.com/araluce/calendlyr
|
|
321
303
|
licenses:
|
|
@@ -330,7 +312,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
330
312
|
requirements:
|
|
331
313
|
- - ">="
|
|
332
314
|
- !ruby/object:Gem::Version
|
|
333
|
-
version: 2.
|
|
315
|
+
version: 3.2.0
|
|
334
316
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
335
317
|
requirements:
|
|
336
318
|
- - ">="
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# Available Time Calendlyr::EventTypes::AvailableTime
|
|
2
|
-
|
|
3
|
-
An available meeting time slot for the given event type.
|
|
4
|
-
|
|
5
|
-
Visit official [API Doc](https://developer.calendly.com/api-docs/2d8d322931358-event-type-available-time)
|
|
6
|
-
|
|
7
|
-
## Client requests
|
|
8
|
-
|
|
9
|
-
### List
|
|
10
|
-
Returns a list of available times for an event type within a specified date range.
|
|
11
|
-
|
|
12
|
-
Date range can be no greater than 1 week (7 days).
|
|
13
|
-
|
|
14
|
-
For the examples bellow we will use only required parameters, but you can use any other parameter as well.
|
|
15
|
-
|
|
16
|
-
Visit official [API Doc](https://developer.calendly.com/api-docs/6a1be82aef359-list-event-type-available-times)
|
|
17
|
-
|
|
18
|
-
```ruby
|
|
19
|
-
client.event_types.list_available_times(event_type, event_type, start_time: start_time, end_time: end_time)
|
|
20
|
-
#=> #<Calendlyr::Collection @data=[#<Calendlyr::EventTypes::AvailableTime>, ...], @count=nil, @next_page=nil, @next_page_token=nil, @client=#<Calendlyr::Client>>
|
|
21
|
-
```
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# Membership (Host) Calendlyr::EventTypes::Membership
|
|
2
|
-
|
|
3
|
-
## Client requests
|
|
4
|
-
|
|
5
|
-
### List
|
|
6
|
-
Fetch list of event type hosts.
|
|
7
|
-
|
|
8
|
-
Visit official [API Doc](https://developer.calendly.com/api-docs/9e27c9bd793da-list-event-type-hosts)
|
|
9
|
-
|
|
10
|
-
```ruby
|
|
11
|
-
client.event_types.list_memberships(event_type, event_type)
|
|
12
|
-
#=> #<Calendlyr::Collection @data=[#<Calendlyr::EventTypes::Membership>, ...], @count=nil, @next_page=nil, @next_page_token=nil, @client=#<Calendlyr::Client>>
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
## Object methods
|
|
16
|
-
|
|
17
|
-
### Associated Event Type
|
|
18
|
-
|
|
19
|
-
```ruby
|
|
20
|
-
membership.associated_event_type
|
|
21
|
-
#=> #<Calendlyr::EventType>
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
### Associated Member
|
|
25
|
-
|
|
26
|
-
```ruby
|
|
27
|
-
membership.associated_member
|
|
28
|
-
#=> [#<Calendlyr::User>, ...]
|
|
29
|
-
```
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# Scheduling Link Calendlyr::SchedulingLink
|
|
2
|
-
|
|
3
|
-
Scheduling Link Object.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
## Client requests
|
|
7
|
-
|
|
8
|
-
### Create
|
|
9
|
-
|
|
10
|
-
Creates a single-use scheduling link.
|
|
11
|
-
|
|
12
|
-
Visit official [API Doc](https://developer.calendly.com/api-docs/4b8195084e287-create-single-use-scheduling-link)
|
|
13
|
-
|
|
14
|
-
```ruby
|
|
15
|
-
client.scheduling_links.create(owner: event_type_uri, max_event_count: 1)
|
|
16
|
-
#=> #<Calendlyr::SchedulingLink>
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## Object methods
|
|
20
|
-
|
|
21
|
-
### Event Type
|
|
22
|
-
|
|
23
|
-
```ruby
|
|
24
|
-
scheduling_link.event_type
|
|
25
|
-
#=> #<Calendlyr::EventType>
|
|
26
|
-
```
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
module Calendlyr
|
|
2
|
-
class EventTypeResource < Resource
|
|
3
|
-
def list(**params)
|
|
4
|
-
response = get_request("event_types", params: params)
|
|
5
|
-
Collection.from_response(response, type: EventType, client: client)
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
def retrieve(uuid:)
|
|
9
|
-
EventType.new get_request("event_types/#{uuid}").dig("resource").merge(client: client)
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def create_one_off(name:, host:, duration:, date_setting:, location:, **params)
|
|
13
|
-
body = {name: name, host: host, duration: duration, date_setting: date_setting, location: location}.merge(params)
|
|
14
|
-
EventType.new post_request("one_off_event_types", body: body).dig("resource").merge(client: client)
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def list_memberships(event_type:, **params)
|
|
18
|
-
response = get_request("event_type_memberships", params: {event_type: event_type}.merge(params))
|
|
19
|
-
Collection.from_response(response, type: EventTypes::Membership, client: client)
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
# Available Times
|
|
23
|
-
def list_available_times(event_type:, start_time:, end_time:, **params)
|
|
24
|
-
response = get_request("event_type_available_times", params: {event_type: event_type, start_time: start_time, end_time: end_time}.merge(params))
|
|
25
|
-
Collection.from_response(response, type: EventTypes::AvailableTime, client: client)
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
module Calendlyr
|
|
2
|
-
class SchedulingLinkResource < Resource
|
|
3
|
-
def create(owner:, max_event_count:, owner_type: "EventType")
|
|
4
|
-
body = {owner: owner, max_event_count: max_event_count, owner_type: owner_type}
|
|
5
|
-
SchedulingLink.new post_request("scheduling_links", body: body).dig("resource").merge(client: client)
|
|
6
|
-
end
|
|
7
|
-
end
|
|
8
|
-
end
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require "test_helper"
|
|
4
|
-
|
|
5
|
-
module EventTypes
|
|
6
|
-
class AvailableTimeObjectTest < Minitest::Test
|
|
7
|
-
def setup
|
|
8
|
-
json = JSON.parse(fixture_file("objects/event_types/available_time")).merge(client: client)
|
|
9
|
-
@available_time = Calendlyr::EventTypes::AvailableTime.new(json)
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def test_status
|
|
13
|
-
assert_equal "available", @available_time.status
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def test_invitees_remaining
|
|
17
|
-
assert_equal 2, @available_time.invitees_remaining
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require "test_helper"
|
|
4
|
-
|
|
5
|
-
module EventTypes
|
|
6
|
-
class MembershipObjectTest < Minitest::Test
|
|
7
|
-
def setup
|
|
8
|
-
json = JSON.parse(fixture_file("objects/event_types/membership")).merge(client: client)
|
|
9
|
-
@membership = Calendlyr::EventTypes::Membership.new(json)
|
|
10
|
-
|
|
11
|
-
event_type_uuid = "AAAAAAAAAAAAAAAA"
|
|
12
|
-
response = {body: fixture_file("event_types/retrieve"), status: 200}
|
|
13
|
-
stub(path: "event_types/#{event_type_uuid}", response: response)
|
|
14
|
-
|
|
15
|
-
user_uuid = "AAAAAAAAAAAAAAAA"
|
|
16
|
-
response = {body: fixture_file("users/retrieve"), status: 200}
|
|
17
|
-
stub(path: "users/#{user_uuid}", response: response)
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def test_associated_event_type
|
|
21
|
-
event_type = @membership.associated_event_type
|
|
22
|
-
|
|
23
|
-
assert_equal "15 Minute Meeting", event_type.name
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def test_associated_member
|
|
27
|
-
member = @membership.associated_member
|
|
28
|
-
|
|
29
|
-
assert_equal "John Doe", member.name
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require "test_helper"
|
|
4
|
-
|
|
5
|
-
class ScheduleLinkObjectTest < Minitest::Test
|
|
6
|
-
def test_event_type
|
|
7
|
-
json = JSON.parse(fixture_file("objects/scheduling_links/event_type")).merge(client: client)
|
|
8
|
-
@scheduling_link = Calendlyr::SchedulingLink.new(json)
|
|
9
|
-
|
|
10
|
-
response = {body: fixture_file("event_types/retrieve"), status: 200}
|
|
11
|
-
stub(path: "event_types/GBGBDCAADAEDCRZ2", response: response)
|
|
12
|
-
|
|
13
|
-
event_type = @scheduling_link.event_type
|
|
14
|
-
|
|
15
|
-
assert_equal Calendlyr::EventType, event_type.class
|
|
16
|
-
end
|
|
17
|
-
end
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require "test_helper"
|
|
4
|
-
|
|
5
|
-
module EventTypes
|
|
6
|
-
class MembershipTest < Minitest::Test
|
|
7
|
-
def setup
|
|
8
|
-
@event_type_uri = "https://api.calendly.com/event_types/abc123"
|
|
9
|
-
response = {body: fixture_file("event_type_hosts/list"), status: 200}
|
|
10
|
-
stub(path: "event_type_memberships?event_type=#{@event_type_uri}", response: response)
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
def test_list
|
|
14
|
-
event_type_hosts = client.event_types.list_memberships(event_type: @event_type_uri)
|
|
15
|
-
|
|
16
|
-
assert_equal Calendlyr::Collection, event_type_hosts.class
|
|
17
|
-
assert_equal Calendlyr::EventTypes::Membership, event_type_hosts.data.first.class
|
|
18
|
-
assert_equal 1, event_type_hosts.data.count
|
|
19
|
-
assert_equal "sNjq4TvMDfUHEl7zHRR0k0E1PCEJWvdi", event_type_hosts.next_page_token
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require "test_helper"
|
|
4
|
-
|
|
5
|
-
class OutgoingCommunicationsResourceTest < Minitest::Test
|
|
6
|
-
def test_list
|
|
7
|
-
response = {body: fixture_file("outgoing_communications/list"), status: 200}
|
|
8
|
-
stub(path: "outgoing_communications", response: response)
|
|
9
|
-
outgoing_communications = client.outgoing_communications.list
|
|
10
|
-
|
|
11
|
-
assert_equal Calendlyr::Collection, outgoing_communications.class
|
|
12
|
-
assert_equal Calendlyr::Object, outgoing_communications.data.first.class
|
|
13
|
-
assert_equal 1, outgoing_communications.data.count
|
|
14
|
-
assert_equal "sms", outgoing_communications.data.first.type
|
|
15
|
-
end
|
|
16
|
-
end
|