cronofy 0.32.0 → 0.33.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: 8f29c174e71afa774e39cc40e852e3c95b60135bf076596adebfa302d0b1457d
4
- data.tar.gz: e41e9a034f53aea943c74e9cff922713beda7edc9fb3d765ee2a31481ce6d236
3
+ metadata.gz: 5c592a6641e20c6bccbe1fe2a4af85f1cff4bcbe8a223436181e7f82a8ab7406
4
+ data.tar.gz: b008a137e2c008fcd10fc9edf83871c99a9f5b2b630ade62d39c5511e0407721
5
5
  SHA512:
6
- metadata.gz: d8263c12831f387bdbc43bdb754f2546bcdefba7021a834d556c07620f0c7f67a85dddf37ac7b70f052750bba8ef247680b0ac5843a3c00025283112d38bd205
7
- data.tar.gz: 4648a9b821c575337165a2d395d85b359a5d882184dc17bff41ae9e792a37d62b048e2b610d185b06d80ccd20abe8ba15e8f0e3b27187b11ff25ca7518cf6879
6
+ metadata.gz: 53e4116e1763cc0795d270fa405d7cadb0cda41641f6edb3c8f62a20605053206c4ccfd088e5c93161f5bfeb5f07c0489b1de76ebc27105e62b181b6b399a81b
7
+ data.tar.gz: 35b950179483552856421bd5c967728a6e443cc11b6333f9eceea7e8ceff8ce06bf143573f552a4cd882faa94dcb0223adad123caee10beed60bbaac5ddaef16
@@ -1,3 +1,7 @@
1
+ ## [0.33.0]
2
+
3
+ * Support listing Availability Rules [#74]
4
+
1
5
  ## [0.32.0]
2
6
 
3
7
  * Support Availability Rules and Scheduling Conversations [#64]
@@ -147,6 +151,7 @@
147
151
  [0.31.1]: https://github.com/cronofy/cronofy-ruby/releases/tag/v0.31.1
148
152
  [0.31.2]: https://github.com/cronofy/cronofy-ruby/releases/tag/v0.31.2
149
153
  [0.32.0]: https://github.com/cronofy/cronofy-ruby/releases/tag/v0.32.0
154
+ [0.33.0]: https://github.com/cronofy/cronofy-ruby/releases/tag/v0.33.0
150
155
 
151
156
  [#13]: https://github.com/cronofy/cronofy-ruby/pull/13
152
157
  [#16]: https://github.com/cronofy/cronofy-ruby/pull/16
@@ -183,3 +188,4 @@
183
188
  [#69]: https://github.com/cronofy/cronofy-ruby/pull/69
184
189
  [#72]: https://github.com/cronofy/cronofy-ruby/pull/72
185
190
  [#73]: https://github.com/cronofy/cronofy-ruby/pull/73
191
+ [#74]: https://github.com/cronofy/cronofy-ruby/pull/74
@@ -1435,6 +1435,20 @@ module Cronofy
1435
1435
  parse_json(AvailabilityRule, 'availability_rule', response)
1436
1436
  end
1437
1437
 
1438
+ # Public: Gets all AvailabilityRules for an account.
1439
+ #
1440
+ # Returns an array of AvailabilityRules.
1441
+ #
1442
+ # Raises Cronofy::CredentialsMissingError if no credentials available.
1443
+ # Raises Cronofy::InvalidRequestError if the request contains invalid
1444
+ # parameters.
1445
+ # Raises Cronofy::TooManyRequestsError if the request exceeds the rate
1446
+ # limits for the application.
1447
+ def get_availability_rules
1448
+ response = wrapped_request { get("/v1/availability_rules") }
1449
+ parse_collection(AvailabilityRule, 'availability_rules', response)
1450
+ end
1451
+
1438
1452
  # Public: Deletes an AvailabilityRule.
1439
1453
  #
1440
1454
  # availability_rule_id - A String uniquely identifying the availability rule
@@ -1,3 +1,3 @@
1
1
  module Cronofy
2
- VERSION = "0.32.0".freeze
2
+ VERSION = "0.33.0".freeze
3
3
  end
@@ -3029,6 +3029,56 @@ describe Cronofy::Client do
3029
3029
  it_behaves_like 'a Cronofy request with mapped return value'
3030
3030
  end
3031
3031
 
3032
+ describe "#get_availability_rules" do
3033
+ let(:request_url) { "https://api.cronofy.com/v1/availability_rules" }
3034
+ let(:method) { :get }
3035
+
3036
+ let(:correct_response_code) { 200 }
3037
+ let(:correct_response_body) do
3038
+ {
3039
+ "availability_rules" => [
3040
+ {
3041
+ "availability_rule_id" => "default",
3042
+ "tzid" => "America/Chicago",
3043
+ "calendar_ids" => [
3044
+ "cal_n23kjnwrw2_jsdfjksn234"
3045
+ ],
3046
+ "weekly_periods" => [
3047
+ {
3048
+ "day" => "monday",
3049
+ "start_time" => "09:30",
3050
+ "end_time" => "16:30"
3051
+ },
3052
+ {
3053
+ "day" => "wednesday",
3054
+ "start_time" => "09:30",
3055
+ "end_time" => "16:30"
3056
+ }
3057
+ ]
3058
+ }
3059
+ ]
3060
+ }
3061
+ end
3062
+
3063
+ let(:correct_mapped_result) do
3064
+ rule = correct_response_body['availability_rules'][0]
3065
+
3066
+ [
3067
+ Cronofy::AvailabilityRule.new(
3068
+ availability_rule_id: rule['availability_rule_id'],
3069
+ tzid: rule['tzid'],
3070
+ calendar_ids: rule['calendar_ids'],
3071
+ weekly_periods: rule['weekly_periods'].map { |wp| Cronofy::WeeklyPeriod.new(wp) },
3072
+ )
3073
+ ]
3074
+ end
3075
+
3076
+ subject { client.get_availability_rules }
3077
+
3078
+ it_behaves_like 'a Cronofy request'
3079
+ it_behaves_like 'a Cronofy request with mapped return value'
3080
+ end
3081
+
3032
3082
  describe '#delete_availability_rule' do
3033
3083
  let(:availability_rule_id) { 'default'}
3034
3084
  let(:request_url) { "https://api.cronofy.com/v1/availability_rules/#{availability_rule_id}" }
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.32.0
4
+ version: 0.33.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: 2019-06-18 00:00:00.000000000 Z
12
+ date: 2019-10-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: oauth2
@@ -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.0.3
159
+ rubygems_version: 3.0.6
160
160
  signing_key:
161
161
  specification_version: 4
162
162
  summary: Cronofy - one API for all the calendars