cronofy 0.25.0 → 0.25.1

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
  SHA1:
3
- metadata.gz: bed8b488fc8541bce5c97cd5295059a35b11712d
4
- data.tar.gz: 98a3c423e351ec564a4ff3456b1ba6149614cd7e
3
+ metadata.gz: aa2dbaa1fff22d1bf386ea8510b33592ae43307b
4
+ data.tar.gz: 98f437522497ffa946e62e1d860d9ddbbbcd5726
5
5
  SHA512:
6
- metadata.gz: fd6f0a7779ba848f996df1339cf1e353948a2c12f47c9e79ab0e29cf8a92e4b5075d3077e4e7118adad395885aa19d3e5679c903219dafad1eedf4ec056d7523
7
- data.tar.gz: c6adc9c8be4946c7b018c704b5b5850ef7abdd09619e396664a6b0d52b72e6e2e03584a83df30279e0dcba818765d6cc96776a667b2143d0f04cafff7492804d
6
+ metadata.gz: 8526a9632f28225092530b0250af075529bca6607260897f9b599438d846cf4c624c5d86d42a4ae59359d71e7e2047101a1aff0b6b6ddb5e02f7b2f74b9e4a53
7
+ data.tar.gz: dd3774efc5c33c90001829391c7bf8a30c3636a4308485e5ffa3ca5e9ddfea2a2b224177c318cf7eef1a6b6b5af120aba8cebab79c1475e1165b0a05a6b0b801
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## [0.25.1]
2
+
3
+ * Support for Cancelling Smart Invites [#55]
4
+
1
5
  ## [0.25.0]
2
6
 
3
7
  * Support for Smart Invites [#49]
@@ -86,6 +90,7 @@
86
90
  [0.24.0]: https://github.com/cronofy/cronofy-ruby/releases/tag/v0.24.0
87
91
  [0.24.1]: https://github.com/cronofy/cronofy-ruby/releases/tag/v0.24.1
88
92
  [0.25.0]: https://github.com/cronofy/cronofy-ruby/releases/tag/v0.25.0
93
+ [0.25.1]: https://github.com/cronofy/cronofy-ruby/releases/tag/v0.25.1
89
94
 
90
95
  [#13]: https://github.com/cronofy/cronofy-ruby/pull/13
91
96
  [#16]: https://github.com/cronofy/cronofy-ruby/pull/16
@@ -110,3 +115,4 @@
110
115
  [#49]: https://github.com/cronofy/cronofy-ruby/pull/49
111
116
  [#50]: https://github.com/cronofy/cronofy-ruby/pull/50
112
117
  [#52]: https://github.com/cronofy/cronofy-ruby/pull/52
118
+ [#55]: https://github.com/cronofy/cronofy-ruby/pull/55
@@ -1052,6 +1052,31 @@ module Cronofy
1052
1052
  parse_json(SmartInviteResponse, nil, response)
1053
1053
  end
1054
1054
 
1055
+
1056
+ # Public: Cancels a smart invite
1057
+ #
1058
+ # smart_invite_id - A String uniquely identifying the event for your
1059
+ # application (note: this is NOT an ID generated
1060
+ # by Cronofy).
1061
+ # recipient - A Hash containing the intended recipient of the invite
1062
+ # :email - A String for thee email address you are
1063
+ # going to send the Smart Invite to.
1064
+ #
1065
+ # See http://www.cronofy.com/developers/alpha/api#smart-invite for reference.
1066
+ #
1067
+ # Returns a SmartInviteResponse.
1068
+ #
1069
+ # Raises Cronofy::CredentialsMissingError if no credentials available.
1070
+ # Raises Cronofy::InvalidRequestError if the request contains invalid
1071
+ # parameters.
1072
+ # Raises Cronofy::TooManyRequestsError if the request exceeds the rate
1073
+ # limits for the application.
1074
+ def cancel_smart_invite(body={})
1075
+ body[:method] = 'cancel'
1076
+ response = wrapped_request { api_key!.post("/v1/smart_invites", json_request_args(body)) }
1077
+ parse_json(SmartInviteResponse, nil, response)
1078
+ end
1079
+
1055
1080
  # Public: Gets the details for a smart invite.
1056
1081
  #
1057
1082
  # smart_invite_id - A String uniquely identifying the event for your
data/lib/cronofy/types.rb CHANGED
@@ -283,7 +283,7 @@ module Cronofy
283
283
  class AddToCalendarResponse < CronofyMash
284
284
  end
285
285
 
286
- class SmartInviteResponse < Hashie::Mash
286
+ class SmartInviteResponse < CronofyMash
287
287
  end
288
288
 
289
289
  module ParticipantEnumerable
@@ -1,3 +1,3 @@
1
1
  module Cronofy
2
- VERSION = "0.25.0".freeze
2
+ VERSION = "0.25.1".freeze
3
3
  end
@@ -1791,6 +1791,9 @@ describe Cronofy::Client do
1791
1791
  { :minutes => 10 },
1792
1792
  ],
1793
1793
  },
1794
+ recipient: {
1795
+ email: "example@example.com"
1796
+ }
1794
1797
  }
1795
1798
  end
1796
1799
 
@@ -1811,6 +1814,9 @@ describe Cronofy::Client do
1811
1814
  { :minutes => 10 },
1812
1815
  ],
1813
1816
  },
1817
+ recipient: {
1818
+ email: "example@example.com"
1819
+ }
1814
1820
  }
1815
1821
  end
1816
1822
  let(:correct_response_code) { 202 }
@@ -1826,4 +1832,57 @@ describe Cronofy::Client do
1826
1832
 
1827
1833
  end
1828
1834
 
1835
+
1836
+ describe "Cancel Smart Invite" do
1837
+ let(:request_url) { "https://api.cronofy.com/v1/smart_invites" }
1838
+ let(:method) { :post }
1839
+
1840
+ let(:request_headers) do
1841
+ {
1842
+ "Authorization" => "Bearer #{client_secret}",
1843
+ "User-Agent" => "Cronofy Ruby #{::Cronofy::VERSION}",
1844
+ "Content-Type" => "application/json; charset=utf-8",
1845
+ }
1846
+ end
1847
+
1848
+ let(:client_id) { 'example_id' }
1849
+ let(:client_secret) { 'example_secret' }
1850
+
1851
+ let(:client) do
1852
+ Cronofy::Client.new(
1853
+ client_id: client_id,
1854
+ client_secret: client_secret,
1855
+ )
1856
+ end
1857
+
1858
+ let(:args) do
1859
+ {
1860
+ smart_invite_id: "qTtZdczOccgaPncGJaCiLg",
1861
+ recipient: {
1862
+ email: "example@example.com"
1863
+ }
1864
+ }
1865
+ end
1866
+
1867
+ let(:request_body) do
1868
+ {
1869
+ method: 'cancel',
1870
+ smart_invite_id: "qTtZdczOccgaPncGJaCiLg",
1871
+ recipient: {
1872
+ email: "example@example.com"
1873
+ }
1874
+ }
1875
+ end
1876
+ let(:correct_response_code) { 202 }
1877
+ let(:correct_response_body) do
1878
+ request_body.merge({
1879
+ attachments: []
1880
+ })
1881
+ end
1882
+
1883
+ subject { client.cancel_smart_invite(request_body) }
1884
+
1885
+ it_behaves_like 'a Cronofy request'
1886
+
1887
+ end
1829
1888
  end
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.25.0
4
+ version: 0.25.1
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: 2017-10-25 00:00:00.000000000 Z
12
+ date: 2017-11-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: oauth2