cronofy 0.14.0 → 0.15.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
  SHA1:
3
- metadata.gz: fbcfb0a303cda992a3a84fb7caeb80aba83240d5
4
- data.tar.gz: 09c5a5f54d5614136873797be63e096c15cb6257
3
+ metadata.gz: fef21eafed29818348df191003678a502f85b40e
4
+ data.tar.gz: 006fff16ea068da743be34eb380bbd701523b341
5
5
  SHA512:
6
- metadata.gz: fd060de118a1e5d3458b1725c32c31c92b24d0fc39f8f0d05bf4cc7bbbd3d994238fb786e79c03070a153fc838325c82183485442b5f4842890bf21e49ca0e73
7
- data.tar.gz: 00704493c9b11c169dd04eed55bea3594d637d2ba13d54cead198bc2260b80c5c186009cc660c35fc3a68aa83a3a144efb48242000245de75f7f72ae1287632e
6
+ metadata.gz: ad2e31f0eea49062cd7f8f60691ee05773ca184a774d0e958f31cd6f68eae5f207917a6a265872f632ed24407926495b1b2dd14c3d6f49a7beb425357c60a54f
7
+ data.tar.gz: e528c5a16588eb904c01bf01ce0890694efca321eba9e31976a8ad76a16fcc439f38236d0dcccaac6d27922dc89ad13041dd21b4676c47a58fc99b1c001a2c08
@@ -89,12 +89,25 @@ module Cronofy
89
89
  # :description - A String to use as the description, sometimes
90
90
  # referred to as the notes or body, of the
91
91
  # event.
92
- # :start - The Time the event starts.
93
- # :end - The Time the event ends.
92
+ # :start - The Time or Date the event starts.
93
+ # :end - The Time or Date the event ends.
94
+ # :url - The URL associated with the event.
94
95
  # :location - A Hash describing the location of the event
95
96
  # with symbolized keys (optional):
96
97
  # :description - A String describing the
97
98
  # location.
99
+ # :lat - A String of the location's latitude.
100
+ # :long - A String of the location's longitude.
101
+ # :reminders - An Array of Hashes describing the desired
102
+ # reminders for the event. Reminders should be
103
+ # specified in priority order as, for example,
104
+ # when the underlying provider only supports a
105
+ # single reminder then the first reminder will
106
+ # be used.
107
+ # :minutes - An Integer specifying the number
108
+ # of minutes before the start of the
109
+ # event that the reminder should
110
+ # occur.
98
111
  #
99
112
  # Examples
100
113
  #
@@ -106,7 +119,9 @@ module Cronofy
106
119
  # start: Time.utc(2014, 8, 5, 15, 30),
107
120
  # end: Time.utc(2014, 8, 5, 17, 30),
108
121
  # location: {
109
- # description: "Board room"
122
+ # description: "Board room",
123
+ # lat: "1.2345",
124
+ # long: "0.1234"
110
125
  # })
111
126
  #
112
127
  # See http://www.cronofy.com/developers/api#upsert-event for reference.
@@ -1,3 +1,3 @@
1
1
  module Cronofy
2
- VERSION = "0.14.0".freeze
2
+ VERSION = "0.15.0".freeze
3
3
  end
@@ -216,8 +216,16 @@ describe Cronofy::Client do
216
216
  describe '#create_or_update_event' do
217
217
  let(:calendar_id) { 'calendar_id_123'}
218
218
  let(:request_url) { "https://api.cronofy.com/v1/calendars/#{calendar_id}/events" }
219
+ let(:url) { URI("https://example.com") }
219
220
  let(:method) { :post }
220
221
  let(:request_headers) { json_request_headers }
222
+
223
+ let(:start_datetime) { Time.utc(2014, 8, 5, 15, 30, 0) }
224
+ let(:end_datetime) { Time.utc(2014, 8, 5, 17, 0, 0) }
225
+ let(:encoded_start_datetime) { "2014-08-05T15:30:00Z" }
226
+ let(:encoded_end_datetime) { "2014-08-05T17:00:00Z" }
227
+ let(:location) { { :description => "Board room" } }
228
+
221
229
  let(:event) do
222
230
  {
223
231
  :event_id => "qTtZdczOccgaPncGJaCiLg",
@@ -225,9 +233,13 @@ describe Cronofy::Client do
225
233
  :description => "Discuss plans for the next quarter.",
226
234
  :start => start_datetime,
227
235
  :end => end_datetime,
228
- :location => {
229
- :description => "Board room"
230
- }
236
+ :url => url,
237
+ :location => location,
238
+ :reminders => [
239
+ { :minutes => 60 },
240
+ { :minutes => 0 },
241
+ { :minutes => 10 },
242
+ ],
231
243
  }
232
244
  end
233
245
  let(:request_body) do
@@ -237,9 +249,13 @@ describe Cronofy::Client do
237
249
  :description => "Discuss plans for the next quarter.",
238
250
  :start => encoded_start_datetime,
239
251
  :end => encoded_end_datetime,
240
- :location => {
241
- :description => "Board room"
242
- }
252
+ :url => url.to_s,
253
+ :location => location,
254
+ :reminders => [
255
+ { :minutes => 60 },
256
+ { :minutes => 0 },
257
+ { :minutes => 10 },
258
+ ],
243
259
  }
244
260
  end
245
261
  let(:correct_response_code) { 202 }
@@ -248,10 +264,14 @@ describe Cronofy::Client do
248
264
  subject { client.create_or_update_event(calendar_id, event) }
249
265
 
250
266
  context 'when start/end are Times' do
251
- let(:start_datetime) { Time.utc(2014, 8, 5, 15, 30, 0) }
252
- let(:end_datetime) { Time.utc(2014, 8, 5, 17, 0, 0) }
253
- let(:encoded_start_datetime) { "2014-08-05T15:30:00Z" }
254
- let(:encoded_end_datetime) { "2014-08-05T17:00:00Z" }
267
+ it_behaves_like 'a Cronofy request'
268
+ end
269
+
270
+ context 'when start/end are Dates' do
271
+ let(:start_datetime) { Date.new(2014, 8, 5) }
272
+ let(:end_datetime) { Date.new(2014, 8, 6) }
273
+ let(:encoded_start_datetime) { "2014-08-05" }
274
+ let(:encoded_end_datetime) { "2014-08-06" }
255
275
 
256
276
  it_behaves_like 'a Cronofy request'
257
277
  end
@@ -284,6 +304,12 @@ describe Cronofy::Client do
284
304
 
285
305
  it_behaves_like 'a Cronofy request'
286
306
  end
307
+
308
+ context 'when geo location present' do
309
+ let(:location) { { :description => "Board meeting", :lat => "1.2345", :long => "0.1234" } }
310
+
311
+ it_behaves_like 'a Cronofy request'
312
+ end
287
313
  end
288
314
 
289
315
  describe '#read_events' 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.14.0
4
+ version: 0.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergii Paryzhskyi
@@ -9,96 +9,96 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-11-30 00:00:00.000000000 Z
12
+ date: 2017-01-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: oauth2
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ~>
18
+ - - "~>"
19
19
  - !ruby/object:Gem::Version
20
20
  version: '1.0'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ~>
25
+ - - "~>"
26
26
  - !ruby/object:Gem::Version
27
27
  version: '1.0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: hashie
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - '>='
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
34
  version: '2.1'
35
- - - <
35
+ - - "<"
36
36
  - !ruby/object:Gem::Version
37
37
  version: '4'
38
38
  type: :runtime
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
41
41
  requirements:
42
- - - '>='
42
+ - - ">="
43
43
  - !ruby/object:Gem::Version
44
44
  version: '2.1'
45
- - - <
45
+ - - "<"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '4'
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: bundler
50
50
  requirement: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.6'
55
55
  type: :development
56
56
  prerelease: false
57
57
  version_requirements: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '1.6'
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: rake
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '10.0'
69
69
  type: :development
70
70
  prerelease: false
71
71
  version_requirements: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: '10.0'
76
76
  - !ruby/object:Gem::Dependency
77
77
  name: rspec
78
78
  requirement: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '3.2'
83
83
  type: :development
84
84
  prerelease: false
85
85
  version_requirements: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: '3.2'
90
90
  - !ruby/object:Gem::Dependency
91
91
  name: webmock
92
92
  requirement: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ~>
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '1.21'
97
97
  type: :development
98
98
  prerelease: false
99
99
  version_requirements: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ~>
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
103
  version: '1.21'
104
104
  description: Ruby wrapper for Cronofy's unified calendar API
@@ -138,17 +138,17 @@ require_paths:
138
138
  - lib
139
139
  required_ruby_version: !ruby/object:Gem::Requirement
140
140
  requirements:
141
- - - '>='
141
+ - - ">="
142
142
  - !ruby/object:Gem::Version
143
143
  version: '0'
144
144
  required_rubygems_version: !ruby/object:Gem::Requirement
145
145
  requirements:
146
- - - '>='
146
+ - - ">="
147
147
  - !ruby/object:Gem::Version
148
148
  version: '0'
149
149
  requirements: []
150
150
  rubyforge_project:
151
- rubygems_version: 2.6.1
151
+ rubygems_version: 2.6.8
152
152
  signing_key:
153
153
  specification_version: 4
154
154
  summary: Cronofy - one API for all the calendars