cronofy 0.40.0 → 0.41.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: 0407eb888cfab38dd60d84ad456d367da62d5021947bc9d7ccc1d66e8da8e3df
4
- data.tar.gz: 24b3171b4e992004138871f4f30f92e840b22a6ef76bab5c7ec4f59574794ac1
3
+ metadata.gz: 70859d7df67d1abfb03702825b4a304a8e2426f7073d9055343559cb9e41e469
4
+ data.tar.gz: 0f778ceec16c9a4fd9f25a9cc50f6f7957f643aa8e1980e35d7690483f8cdea5
5
5
  SHA512:
6
- metadata.gz: e3e3d97475b91569ff5247604a4cdfc0b975d6a9aa1199e20b2e86e85d3b5e3060bfe193d12fe694a27432f79dba2d417580a25e46de3129cf7bd83d8c621f9d
7
- data.tar.gz: db4b9e733ae6acee75880ff0fe72e5e6d42713d9c725d8211552647d1c2ec421628b5211222d2f3070ecbce2e6bd0682c1b74dfd2186c6f9d40a7996e9a4dc18
6
+ metadata.gz: 0b15136e06190b874efc0d32c1cb4efa16bf093c0473faf1ad2fb59f66511ef44069cad5199f1f63e9d05e25e74c6376cd4534c380073ec59b55ddc8ef7f6b7c
7
+ data.tar.gz: 65256a5f09863beb7d620746e6d5fb9d79242c9d374adba3161c1439a9bb93ebf96cbde2b65c72a81876d03a7abec218ea60cb43e50506a47f9a98a112da39c1
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## [0.41.0]
2
+
3
+ * Adds support for the query_slots parameter [#111]
4
+
1
5
  ## [0.40.0]
2
6
 
3
7
  * Update version of [OAuth2](https://rubygems.org/gems/oauth2) required [#102]
@@ -227,6 +231,7 @@
227
231
  [0.38.0]: https://github.com/cronofy/cronofy-ruby/releases/tag/0.38.0
228
232
  [0.39.0]: https://github.com/cronofy/cronofy-ruby/releases/tag/0.39.0
229
233
  [0.40.0]: https://github.com/cronofy/cronofy-ruby/releases/tag/v0.40.0
234
+ [0.41.0]: https://github.com/cronofy/cronofy-ruby/releases/tag/v0.41.0
230
235
 
231
236
  [#13]: https://github.com/cronofy/cronofy-ruby/pull/13
232
237
  [#16]: https://github.com/cronofy/cronofy-ruby/pull/16
@@ -278,3 +283,4 @@
278
283
  [#102]: https://github.com/cronofy/cronofy-ruby/pull/102
279
284
  [#104]: https://github.com/cronofy/cronofy-ruby/pull/104
280
285
  [#108]: https://github.com/cronofy/cronofy-ruby/pull/108
286
+ [#111]: https://github.com/cronofy/cronofy-ruby/pull/111
data/README.md CHANGED
@@ -45,8 +45,8 @@ When using a [personal access token](https://app.cronofy.com/oauth/applications/
45
45
  you only need to provide the `access_token` argument.
46
46
 
47
47
  When working against your own OAuth application you will need to provide the
48
- `client_id` and `client_secret` when [going through the authorization process](https://www.cronofy.com/developers/api/#authorization)
49
- for a user, and when [refreshing an access token](https://www.cronofy.com/developers/api/#token-refresh).
48
+ `client_id` and `client_secret` when [going through the authorization process](https://docs.cronofy.com/developers/api/authorization/request-authorization/)
49
+ for a user, and when [refreshing an access token](https://docs.cronofy.com/developers/api/authorization/refresh-token/).
50
50
 
51
51
  If `client_id` and `client_secret` are not specified explicitly the values from
52
52
  the environment variables `CRONOFY_CLIENT_ID` and `CRONOFY_CLIENT_SECRET` will
@@ -56,7 +56,7 @@ be used if present.
56
56
 
57
57
  ## Authorization
58
58
 
59
- [API documentation](https://www.cronofy.com/developers/api/#authorization)
59
+ [API documentation](https://docs.cronofy.com/developers/api/authorization/request-authorization/)
60
60
 
61
61
  Generate a link for a user to grant access to their calendars:
62
62
 
@@ -83,7 +83,7 @@ to perform this process.
83
83
 
84
84
  ## List calendars
85
85
 
86
- [API documentation](https://www.cronofy.com/developers/api/#calendars)
86
+ [API documentation](https://docs.cronofy.com/developers/api/calendars/list-calendars/)
87
87
 
88
88
  Get a list of all the user's calendars:
89
89
 
@@ -93,7 +93,7 @@ calendars = cronofy.list_calendars
93
93
 
94
94
  ## Read events
95
95
 
96
- [API documentation](https://www.cronofy.com/developers/api/#read-events)
96
+ [API documentation](https://docs.cronofy.com/developers/api/events/read-events/)
97
97
 
98
98
  Get a list of events from the user's calendars:
99
99
 
@@ -105,7 +105,7 @@ Note that the gem handles iterating through the pages on your behalf.
105
105
 
106
106
  ## Create or update events
107
107
 
108
- [API documentation](https://www.cronofy.com/developers/api/#upsert-event)
108
+ [API documentation](https://docs.cronofy.com/developers/api/events/upsert-event/)
109
109
 
110
110
  To create/update an event in the user's calendar:
111
111
 
@@ -126,7 +126,7 @@ cronofy.upsert_event(calendar_id, event_data)
126
126
 
127
127
  ## Delete events
128
128
 
129
- [API documentation](https://www.cronofy.com/developers/api/#delete-event)
129
+ [API documentation](https://docs.cronofy.com/developers/api/events/delete-event/)
130
130
 
131
131
  To delete an event from user's calendar:
132
132
 
@@ -145,6 +145,6 @@ If you would like to request a feature is added by our team then please let us k
145
145
 
146
146
  ## Links
147
147
 
148
- * [API documentation](https://www.cronofy.com/developers/api)
148
+ * [API documentation](https://docs.cronofy.com/developers/api/)
149
149
  * [API mailing list](https://groups.google.com/d/forum/cronofy-api)
150
150
 
data/lib/cronofy/auth.rb CHANGED
@@ -35,7 +35,7 @@ module Cronofy
35
35
  # :state - Array of states to retain during the OAuth
36
36
  # authorization process (optional).
37
37
  #
38
- # See http://www.cronofy.com/developers/api#authorization for reference.
38
+ # See https://docs.cronofy.com/developers/api/authorization/request-authorization/ for reference.
39
39
  #
40
40
  # Returns the URL as a String.
41
41
  def user_auth_link(redirect_uri, options = {})
@@ -54,7 +54,7 @@ module Cronofy
54
54
  # (default: {}):
55
55
  # :color - The color to make the calendar (optional).
56
56
  #
57
- # See https://www.cronofy.com/developers/api/#create-calendar for reference.
57
+ # See https://docs.cronofy.com/developers/api/calendars/create-calendar/ for reference.
58
58
  #
59
59
  # Returns the created Calendar
60
60
  #
@@ -77,7 +77,7 @@ module Cronofy
77
77
 
78
78
  # Public: Lists all the calendars for the account.
79
79
  #
80
- # See http://www.cronofy.com/developers/api#calendars for reference.
80
+ # See https://docs.cronofy.com/developers/api/calendars/list-calendars/ for reference.
81
81
  #
82
82
  # Returns an Array of Calendars
83
83
  #
@@ -148,7 +148,7 @@ module Cronofy
148
148
  # long: "0.1234"
149
149
  # })
150
150
  #
151
- # See http://www.cronofy.com/developers/api#upsert-event for reference.
151
+ # See https://docs.cronofy.com/developers/api/events/upsert-event/ for reference.
152
152
  #
153
153
  # Returns nothing.
154
154
  #
@@ -214,7 +214,7 @@ module Cronofy
214
214
  # The first page will be retrieved eagerly so that common errors will happen
215
215
  # inline. However, subsequent pages (if any) will be requested lazily.
216
216
  #
217
- # See http://www.cronofy.com/developers/api#read-events for reference.
217
+ # See https://docs.cronofy.com/developers/api/events/read-events/ for reference.
218
218
  #
219
219
  # Returns a lazily-evaluated Enumerable of Events
220
220
  #
@@ -262,7 +262,7 @@ module Cronofy
262
262
  # The first page will be retrieved eagerly so that common errors will happen
263
263
  # inline. However, subsequent pages (if any) will be requested lazily.
264
264
  #
265
- # See http://www.cronofy.com/developers/api/#free-busy for reference.
265
+ # See https://docs.cronofy.com/developers/api/events/free-busy/ for reference.
266
266
  #
267
267
  # Returns a lazily-evaluated Enumerable of FreeBusy
268
268
  #
@@ -293,7 +293,7 @@ module Cronofy
293
293
  # event_id - A String uniquely identifying the event for your application
294
294
  # (note: this is NOT an ID generated by Cronofy).
295
295
  #
296
- # See http://www.cronofy.com/developers/api#delete-event for reference.
296
+ # See https://docs.cronofy.com/developers/api/events/delete-event/ for reference.
297
297
  #
298
298
  # Returns nothing.
299
299
  #
@@ -425,7 +425,7 @@ module Cronofy
425
425
 
426
426
  # Public: Deletes all events you are managing for the account.
427
427
  #
428
- # See https://www.cronofy.com/developers/api/#bulk-delete-events for
428
+ # See https://docs.cronofy.com/developers/api/events/bulk-delete-events/ for
429
429
  # reference.
430
430
  #
431
431
  # options - The Hash options used to refine the selection (optional):
@@ -469,7 +469,7 @@ module Cronofy
469
469
  # trigger notifications
470
470
  # (optional).
471
471
  #
472
- # See http://www.cronofy.com/developers/api#create-channel for reference.
472
+ # See https://docs.cronofy.com/developers/api/push-notifications/create-channel/ for reference.
473
473
  #
474
474
  # Returns a Channel.
475
475
  #
@@ -520,7 +520,7 @@ module Cronofy
520
520
 
521
521
  # Public: Lists all the notification channels for the account.
522
522
  #
523
- # See http://www.cronofy.com/developers/api#list-channels for reference.
523
+ # See https://docs.cronofy.com/developers/api/push-notifications/list-channels/ for reference.
524
524
  #
525
525
  # Returns an Array of Channels.
526
526
  #
@@ -540,7 +540,7 @@ module Cronofy
540
540
  #
541
541
  # channel_id - The String Cronofy ID for the channel to close.
542
542
  #
543
- # See http://www.cronofy.com/developers/api#close-channel for reference.
543
+ # See https://docs.cronofy.com/developers/api/push-notifications/close-channel/ for reference.
544
544
  #
545
545
  # Returns nothing.
546
546
  #
@@ -559,7 +559,7 @@ module Cronofy
559
559
 
560
560
  # Public: Retrieves the details of the account.
561
561
  #
562
- # See http://www.cronofy.com/developers/api#account for reference.
562
+ # See https://docs.cronofy.com/developers/api/identity/account/ for reference.
563
563
  #
564
564
  # Returns an Account.
565
565
  #
@@ -577,7 +577,7 @@ module Cronofy
577
577
 
578
578
  # Public: Lists all the profiles for the account.
579
579
  #
580
- # See https://www.cronofy.com/developers/api/#profiles for reference.
580
+ # See https://docs.cronofy.com/developers/api/identity/profile/ for reference.
581
581
  #
582
582
  # Returns an Array of Profiles
583
583
  #
@@ -593,7 +593,7 @@ module Cronofy
593
593
 
594
594
  # Public: Retrieves the userinfo for the account
595
595
  #
596
- # See http://openid.net/specs/openid-connect-core-1_0.html#UserInfo for
596
+ # See https://docs.cronofy.com/developers/api/identity/userinfo/ for
597
597
  # reference.
598
598
  #
599
599
  # Returns an UserInfo.
@@ -621,7 +621,7 @@ module Cronofy
621
621
  # invite to
622
622
  #
623
623
  #
624
- # See http://www.cronofy.com/developers/api#delete-event for reference.
624
+ # See https://docs.cronofy.com/developers/api/events/delete-event/ for reference.
625
625
  #
626
626
  # Returns nothing.
627
627
  #
@@ -687,7 +687,7 @@ module Cronofy
687
687
  # :state - Array of states to retain during the OAuth
688
688
  # authorization process (optional).
689
689
  #
690
- # See http://www.cronofy.com/developers/api#authorization for reference.
690
+ # See https://docs.cronofy.com/developers/api/authorization/request-authorization/ for reference.
691
691
  #
692
692
  # Returns the URL as a String.
693
693
  def user_auth_link(redirect_url, options = {})
@@ -702,7 +702,7 @@ module Cronofy
702
702
  # redirect_url - A String specifing the URL the user returned to once they
703
703
  # had completed the authorization steps.
704
704
  #
705
- # See http://www.cronofy.com/developers/api#token-issue for reference.
705
+ # See https://docs.cronofy.com/developers/api/authorization/request-token/ for reference.
706
706
  #
707
707
  # Returns a set of Cronofy::Credentials for the account.
708
708
  #
@@ -720,7 +720,7 @@ module Cronofy
720
720
  # these usually occur when the access token has expired and needs
721
721
  # refreshing.
722
722
  #
723
- # See http://www.cronofy.com/developers/api#token-refresh for reference.
723
+ # See https://docs.cronofy.com/developers/api/authorization/refresh-token/ for reference.
724
724
  #
725
725
  # Returns a set of Cronofy::Credentials for the account.
726
726
  #
@@ -735,7 +735,7 @@ module Cronofy
735
735
 
736
736
  # Public: Obtains access to an application calendar
737
737
  #
738
- # See http://www.cronofy.com/developers/alpha/api#application-calendar for reference.
738
+ # See https://docs.cronofy.com/developers/api/calendars/application-calendars/ for reference.
739
739
  #
740
740
  # Returns a set of Cronofy::Credentials for the account.
741
741
  #
@@ -753,7 +753,7 @@ module Cronofy
753
753
  # After making this call the Client will become unusable. You should also
754
754
  # delete the stored credentials used to create this instance.
755
755
  #
756
- # See http://www.cronofy.com/developers/api#revoke-authorization for
756
+ # See https://docs.cronofy.com/developers/api/authorization/revoke/ for
757
757
  # reference.
758
758
  #
759
759
  # Returns nothing.
@@ -835,8 +835,10 @@ module Cronofy
835
835
  # each must specify a start and end Time.
836
836
  # :start_interval - An Integer representing the start interval
837
837
  # of minutes for the availability query.
838
- # :buffer - An Hash containing the buffer to apply to
838
+ # :buffer - A Hash containing the buffer to apply to
839
839
  # the availability query.
840
+ # :query_slots - A Hash containing the query slots to be
841
+ # used in the availability query.
840
842
  #
841
843
  # Returns an Array of AvailablePeriods.
842
844
  #
@@ -861,7 +863,13 @@ module Cronofy
861
863
  options[:buffer] = map_availability_buffer(buffer)
862
864
  end
863
865
 
864
- translate_available_periods(options[:query_periods] || options[:available_periods])
866
+ if query_periods = options[:query_periods] || options[:available_periods]
867
+ translate_available_periods(query_periods)
868
+ end
869
+
870
+ if query_slots = options[:query_slots]
871
+ translate_query_slots(query_slots)
872
+ end
865
873
 
866
874
  response = availability_post("/v1/availability", options)
867
875
 
@@ -979,7 +987,7 @@ module Cronofy
979
987
  # long: "0.1234"
980
988
  # })
981
989
  #
982
- # See http://www.cronofy.com/developers/api#upsert-event for reference.
990
+ # See https://docs.cronofy.com/developers/api/events/upsert-event/ for reference.
983
991
  #
984
992
  # Returns a AddToCalendarResponse.
985
993
  #
@@ -1052,7 +1060,9 @@ module Cronofy
1052
1060
  # call
1053
1061
  # :required_duration - A hash stating the length of time the event will
1054
1062
  # last for
1055
- # :query_periods - A hash stating the available periods for the event
1063
+ # :query_periods - A Hash stating the available periods for the event
1064
+ # :query_slots - A Hash containing the query slots to be
1065
+ # used in the availability query.
1056
1066
  # :start_interval - An Integer representing the start interval
1057
1067
  # of minutes for the availability query.
1058
1068
  # :buffer - An Hash containing the buffer to apply to
@@ -1099,7 +1109,7 @@ module Cronofy
1099
1109
  # }]
1100
1110
  # )
1101
1111
  #
1102
- # See http://www.cronofy.com/developers/api#real-time-scheduling for reference.
1112
+ # See https://docs.cronofy.com/developers/api/scheduling/real-time-scheduling/ for reference.
1103
1113
  #
1104
1114
  # Returns a AddToCalendarResponse.
1105
1115
  #
@@ -1129,7 +1139,14 @@ module Cronofy
1129
1139
  end
1130
1140
  end
1131
1141
 
1132
- translate_available_periods(availability[:query_periods] || availability[:available_periods])
1142
+ if query_periods = availability[:query_periods] || availability[:available_periods]
1143
+ translate_available_periods(query_periods)
1144
+ end
1145
+
1146
+ if query_slots = availability[:query_slots]
1147
+ translate_query_slots(query_slots)
1148
+ end
1149
+
1133
1150
  body[:availability] = availability
1134
1151
 
1135
1152
  response = raw_post("/v1/real_time_scheduling", body)
@@ -1278,7 +1295,7 @@ module Cronofy
1278
1295
 
1279
1296
  # Public: Creates a link_token to allow explicitly linking of an account
1280
1297
  #
1281
- # See https://www.cronofy.com/developers/api/alpha/#auth-explicit-linking for
1298
+ # See https://docs.cronofy.com/developers/api-alpha/explicit-linking/ for
1282
1299
  # reference.
1283
1300
  #
1284
1301
  # Returns a link token
@@ -1295,7 +1312,7 @@ module Cronofy
1295
1312
 
1296
1313
  # Public: Revokes the authorization to the given profile.
1297
1314
  #
1298
- # See https://www.cronofy.com/developers/api/alpha/#revoke-profile for
1315
+ # See https://docs.cronofy.com/developers/api/authorization/revoke-profile/ for
1299
1316
  # reference.
1300
1317
  #
1301
1318
  # Returns nothing.
@@ -1373,7 +1390,7 @@ module Cronofy
1373
1390
  # }
1374
1391
  # )
1375
1392
  #
1376
- # See http://www.cronofy.com/developers/alpha/api#smart-invite for reference.
1393
+ # See https://docs.cronofy.com/developers/api/smart-invites/create-smart-invite/ for reference.
1377
1394
  #
1378
1395
  # Returns a SmartInviteResponse.
1379
1396
  #
@@ -1400,7 +1417,7 @@ module Cronofy
1400
1417
  # :email - A String for thee email address you are
1401
1418
  # going to send the Smart Invite to.
1402
1419
  #
1403
- # See http://www.cronofy.com/developers/alpha/api#smart-invite for reference.
1420
+ # See https://docs.cronofy.com/developers/api/smart-invites/cancel-invite/ for reference.
1404
1421
  #
1405
1422
  # Returns a SmartInviteResponse.
1406
1423
  #
@@ -1448,7 +1465,7 @@ module Cronofy
1448
1465
  # by Cronofy).
1449
1466
  # recipient_email - The email address for the recipient to get details for.
1450
1467
  #
1451
- # See http://www.cronofy.com/developers/alpha/api#smart-invite for reference.
1468
+ # See https://docs.cronofy.com/developers/api/smart-invites/invite-status/ for reference.
1452
1469
  #
1453
1470
  # Returns a SmartInviteResponse.
1454
1471
  #
@@ -1522,7 +1539,7 @@ module Cronofy
1522
1539
  # ]
1523
1540
  # )
1524
1541
  #
1525
- # See http://www.cronofy.com/developers/alpha/api#availability_rules for reference.
1542
+ # See https://docs.cronofy.com/developers/api/scheduling/availability-rules/ for reference.
1526
1543
  #
1527
1544
  # Returns an AvailabilityRuleResponse.
1528
1545
  #
@@ -1717,6 +1734,14 @@ module Cronofy
1717
1734
  end
1718
1735
  end
1719
1736
 
1737
+ def translate_query_slots(query_slots)
1738
+ query_slots.each do |params|
1739
+ QUERY_SLOTS_TIME_PARAMS.select { |tp| params.key?(tp) }.each do |tp|
1740
+ params[tp] = to_iso8601(params[tp])
1741
+ end
1742
+ end
1743
+ end
1744
+
1720
1745
  def map_availability_participants(participants)
1721
1746
  case participants
1722
1747
  when Hash
@@ -1847,6 +1872,10 @@ module Cronofy
1847
1872
  end
1848
1873
  }.freeze
1849
1874
 
1875
+ QUERY_SLOTS_TIME_PARAMS = %i{
1876
+ start
1877
+ }.freeze
1878
+
1850
1879
  FREE_BUSY_DEFAULT_PARAMS = { tzid: "Etc/UTC" }.freeze
1851
1880
  FREE_BUSY_TIME_PARAMS = %i{
1852
1881
  from
@@ -1,3 +1,3 @@
1
1
  module Cronofy
2
- VERSION = "0.40.0".freeze
2
+ VERSION = "0.41.0".freeze
3
3
  end
@@ -1783,6 +1783,51 @@ describe Cronofy::Client do
1783
1783
  it_behaves_like 'a Cronofy request with mapped return value'
1784
1784
  end
1785
1785
 
1786
+ context 'when given query_slots instead of available_periods with start interval' do
1787
+ let(:participants) do
1788
+ { members: %w{acc_567236000909002 acc_678347111010113} }
1789
+ end
1790
+
1791
+ let(:required_duration) { 60 }
1792
+
1793
+ let(:query_slots) do
1794
+ [
1795
+ { start: Time.parse("2017-01-03T09:00:00Z")},
1796
+ { start: Time.parse("2017-01-04T09:00:00Z") },
1797
+ ]
1798
+ end
1799
+
1800
+ let(:request_body) do
1801
+ {
1802
+ "participants" => [
1803
+ {
1804
+ "members" => [
1805
+ { "sub" => "acc_567236000909002" },
1806
+ { "sub" => "acc_678347111010113" }
1807
+ ],
1808
+ "required" => "all"
1809
+ }
1810
+ ],
1811
+ "query_slots" => [
1812
+ { "start" => "2017-01-03T09:00:00Z" },
1813
+ { "start" => "2017-01-04T09:00:00Z" }
1814
+ ],
1815
+ "required_duration" => { "minutes" => 60 },
1816
+ }
1817
+ end
1818
+
1819
+ subject do
1820
+ client.availability(
1821
+ participants: participants,
1822
+ required_duration: required_duration,
1823
+ query_slots: query_slots
1824
+ )
1825
+ end
1826
+
1827
+ it_behaves_like 'a Cronofy request'
1828
+ it_behaves_like 'a Cronofy request with mapped return value'
1829
+ end
1830
+
1786
1831
  context "when trying to auth with only an access_token, as originally implemented" do
1787
1832
  let(:access_token) { "access_token_123"}
1788
1833
  let(:client) { Cronofy::Client.new(access_token: access_token) }
@@ -2363,6 +2408,56 @@ describe Cronofy::Client do
2363
2408
  mapped_availability[:query_periods] = mapped_availability.delete(:available_periods)
2364
2409
  end
2365
2410
  end
2411
+
2412
+ context 'when passing query slots' do
2413
+ let(:availability) do
2414
+ {
2415
+ participants: [
2416
+ {
2417
+ members: [{
2418
+ sub: "acc_567236000909002",
2419
+ calendar_ids: ["cal_n23kjnwrw2_jsdfjksn234"]
2420
+ }],
2421
+ required: 'all'
2422
+ }
2423
+ ],
2424
+ required_duration: { minutes: 60 },
2425
+ query_slots: [
2426
+ { start: Time.utc(2017, 1, 1, 9, 00) },
2427
+ { start: Time.utc(2017, 1, 1, 17, 00) }
2428
+ ],
2429
+ buffer: {
2430
+ before: { minutes: 30 },
2431
+ after: { minutes: 45 },
2432
+ }
2433
+ }
2434
+ end
2435
+
2436
+ let(:mapped_availability) do
2437
+ {
2438
+ participants: [
2439
+ {
2440
+ members: [{
2441
+ sub: "acc_567236000909002",
2442
+ calendar_ids: ["cal_n23kjnwrw2_jsdfjksn234"]
2443
+ }],
2444
+ required: 'all'
2445
+ }
2446
+ ],
2447
+ required_duration: { minutes: 60 },
2448
+ buffer: {
2449
+ before: { minutes: 30 },
2450
+ after: { minutes: 45 },
2451
+ },
2452
+ query_slots: [
2453
+ { start: Time.utc(2017, 1, 1, 9, 00) },
2454
+ { start: Time.utc(2017, 1, 1, 17, 00) }
2455
+ ],
2456
+ }
2457
+ it_behaves_like 'a Cronofy request'
2458
+ it_behaves_like 'a Cronofy request with mapped return value'
2459
+ end
2460
+ end
2366
2461
  end
2367
2462
 
2368
2463
  describe "#get_real_time_scheduling_status" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cronofy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.40.0
4
+ version: 0.41.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergii Paryzhskyi
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-05-19 00:00:00.000000000 Z
12
+ date: 2023-07-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: hashie
@@ -156,7 +156,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
156
156
  - !ruby/object:Gem::Version
157
157
  version: '0'
158
158
  requirements: []
159
- rubygems_version: 3.1.4
159
+ rubygems_version: 3.2.33
160
160
  signing_key:
161
161
  specification_version: 4
162
162
  summary: Cronofy - the scheduling platform for business