cronofy 0.37.1 → 0.37.2

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: a805a11bb064f04901d8cb57e9941bb71db91224c3c61f351b827c75074d1db5
4
- data.tar.gz: ec146b1c4c31ced2d208bca1f066b15a4b162edacaac0bc0f7cf1da079f0d1d2
3
+ metadata.gz: 3e09c2030d7992753a4e8f0e52af1d00d2ab6ced77f5e5b81336cb97a5c98ec6
4
+ data.tar.gz: 464b7a63bdfb341f67da6f4556e4ee66b36db144d9d41270c9204ee6a10ca56c
5
5
  SHA512:
6
- metadata.gz: 38b1b55c2f736c9692c0e11ebd03d803709e485b7d51ce2522c0a32b2333b75faa2ca56658315f9390b44b7f6a0a1b3b2abfdeca98f22a94d8e4dddf6cada60c
7
- data.tar.gz: 22645a8c38f429465ec6bcbacc2f8a9463a1895597d68b21f853a4c57c2630cb4db0adcbd1204d9a2187a33e598df0de9c94e20dd63794b9e807b621648df110
6
+ metadata.gz: f6a6f59a184da190d6905b495a0c067437ab422561ccf26f23e1e7d6f48fd0a0d2c63bb033d46f760b9ce24e958539a58e319b8a160c2fc2a719f4f1e3f31bcd
7
+ data.tar.gz: a777db3452a6cc462ba526447c17fe0790d73dd8b08517d62363ac3f5d9b7cb076d2b77ef614ed51f981941451362bd0f568fab4749c08bdc9bc38533974729b
@@ -1,3 +1,7 @@
1
+ ## [0.37.2]
2
+
3
+ * Support `query_periods` as well as the original `available_periods` for Availability Query and Sequenced Availability [#91]
4
+
1
5
  ## [0.37.1]
2
6
 
3
7
  * Rename `data_centre` to `data_centre` (with aliases for backwards compatibility) [#90]
@@ -182,6 +186,7 @@
182
186
  [0.36.1]: https://github.com/cronofy/cronofy-ruby/releases/tag/v0.36.1
183
187
  [0.37.0]: https://github.com/cronofy/cronofy-ruby/releases/tag/v0.37.0
184
188
  [0.37.1]: https://github.com/cronofy/cronofy-ruby/releases/tag/v0.37.1
189
+ [0.37.2]: https://github.com/cronofy/cronofy-ruby/releases/tag/v0.37.2
185
190
 
186
191
  [#13]: https://github.com/cronofy/cronofy-ruby/pull/13
187
192
  [#16]: https://github.com/cronofy/cronofy-ruby/pull/16
@@ -225,3 +230,4 @@
225
230
  [#85]: https://github.com/cronofy/cronofy-ruby/pull/85
226
231
  [#86]: https://github.com/cronofy/cronofy-ruby/pull/86
227
232
  [#90]: https://github.com/cronofy/cronofy-ruby/pull/90
233
+ [#91]: https://github.com/cronofy/cronofy-ruby/pull/91
@@ -803,7 +803,7 @@ module Cronofy
803
803
  # for a single participant group.
804
804
  # :required_duration - An Integer representing the minimum number
805
805
  # of minutes of availability required.
806
- # :available_periods - An Array of available time periods Hashes,
806
+ # :query_periods - An Array of available time periods Hashes,
807
807
  # each must specify a start and end Time.
808
808
  # :start_interval - An Integer representing the start interval
809
809
  # of minutes for the availability query.
@@ -833,7 +833,7 @@ module Cronofy
833
833
  options[:buffer] = map_availability_buffer(buffer)
834
834
  end
835
835
 
836
- translate_available_periods(options[:available_periods])
836
+ translate_available_periods(options[:query_periods] || options[:available_periods])
837
837
 
838
838
  response = post("/v1/availability", options)
839
839
 
@@ -847,7 +847,7 @@ module Cronofy
847
847
  # Public: Performs an sequenced availability query.
848
848
  #
849
849
  # options - The Hash options used to refine the selection (default: {}):
850
- # :sequence - An Array of sequence defintions containing
850
+ # :sequence - An Array of sequence defintions containing
851
851
  # a Hash of:
852
852
  # :sequence_id - A String to uniquely identify this part
853
853
  # of the proposed sequence.
@@ -861,7 +861,7 @@ module Cronofy
861
861
  # of minutes for the availability query.
862
862
  # :buffer - An Hash containing the buffer to apply to
863
863
  # the availability query.
864
- # :available_periods - An Array of available time periods Hashes,
864
+ # :query_periods - An Array of available time periods Hashes,
865
865
  # each must specify a start and end Time.
866
866
  #
867
867
  # Returns an Array of Sequences.
@@ -878,7 +878,7 @@ module Cronofy
878
878
  def sequenced_availability(options = {})
879
879
  options[:sequence] = map_availability_sequence(options[:sequence])
880
880
 
881
- translate_available_periods(options[:available_periods])
881
+ translate_available_periods(options[:query_periods] || options[:available_periods])
882
882
 
883
883
  response = post("/v1/sequenced_availability", options)
884
884
  parse_collection(Sequence, "sequences", response)
@@ -1,3 +1,3 @@
1
1
  module Cronofy
2
- VERSION = "0.37.1".freeze
2
+ VERSION = "0.37.2".freeze
3
3
  end
@@ -266,6 +266,7 @@ describe Cronofy::Client do
266
266
  ],
267
267
  }
268
268
  end
269
+
269
270
  let(:request_body) do
270
271
  {
271
272
  :event_id => "qTtZdczOccgaPncGJaCiLg",
@@ -1718,6 +1719,57 @@ describe Cronofy::Client do
1718
1719
  it_behaves_like 'a Cronofy request'
1719
1720
  it_behaves_like 'a Cronofy request with mapped return value'
1720
1721
  end
1722
+
1723
+ context "when given query_periods instead of available_periods" do
1724
+ let(:participants) do
1725
+ { members: %w{acc_567236000909002 acc_678347111010113} }
1726
+ end
1727
+
1728
+ let(:required_duration) { 60 }
1729
+
1730
+ let(:query_periods) do
1731
+ [
1732
+ { start: Time.parse("2017-01-03T09:00:00Z"), end: Time.parse("2017-01-03T18:00:00Z") },
1733
+ { start: Time.parse("2017-01-04T09:00:00Z"), end: Time.parse("2017-01-04T18:00:00Z") },
1734
+ ]
1735
+ end
1736
+
1737
+ let(:request_body) do
1738
+ {
1739
+ "participants" => [
1740
+ {
1741
+ "members" => [
1742
+ { "sub" => "acc_567236000909002" },
1743
+ { "sub" => "acc_678347111010113" }
1744
+ ],
1745
+ "required" => "all"
1746
+ }
1747
+ ],
1748
+ "query_periods" => [
1749
+ {
1750
+ "start" => "2017-01-03T09:00:00Z",
1751
+ "end" => "2017-01-03T18:00:00Z"
1752
+ },
1753
+ {
1754
+ "start" => "2017-01-04T09:00:00Z",
1755
+ "end" => "2017-01-04T18:00:00Z"
1756
+ }
1757
+ ],
1758
+ "required_duration" => { "minutes" => 60 },
1759
+ }
1760
+ end
1761
+
1762
+ subject do
1763
+ client.availability(
1764
+ participants: participants,
1765
+ required_duration: required_duration,
1766
+ query_periods: query_periods
1767
+ )
1768
+ end
1769
+
1770
+ it_behaves_like 'a Cronofy request'
1771
+ it_behaves_like 'a Cronofy request with mapped return value'
1772
+ end
1721
1773
  end
1722
1774
  end
1723
1775
 
@@ -1873,6 +1925,18 @@ describe Cronofy::Client do
1873
1925
 
1874
1926
  it_behaves_like 'a Cronofy request'
1875
1927
  it_behaves_like 'a Cronofy request with mapped return value'
1928
+
1929
+ context "when passing query_periods instead" do
1930
+ before do
1931
+ args[:query_periods] = args[:available_periods]
1932
+ args.delete(:available_periods)
1933
+ request_body["query_periods"] = request_body["available_periods"]
1934
+ request_body.delete("available_periods")
1935
+ end
1936
+
1937
+ it_behaves_like 'a Cronofy request'
1938
+ it_behaves_like 'a Cronofy request with mapped return value'
1939
+ end
1876
1940
  end
1877
1941
  end
1878
1942
 
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.37.1
4
+ version: 0.37.2
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: 2021-01-14 00:00:00.000000000 Z
12
+ date: 2021-01-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: hashie