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 +4 -4
- data/lib/cronofy/client.rb +18 -3
- data/lib/cronofy/version.rb +1 -1
- data/spec/lib/cronofy/client_spec.rb +36 -10
- metadata +19 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fef21eafed29818348df191003678a502f85b40e
|
4
|
+
data.tar.gz: 006fff16ea068da743be34eb380bbd701523b341
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ad2e31f0eea49062cd7f8f60691ee05773ca184a774d0e958f31cd6f68eae5f207917a6a265872f632ed24407926495b1b2dd14c3d6f49a7beb425357c60a54f
|
7
|
+
data.tar.gz: e528c5a16588eb904c01bf01ce0890694efca321eba9e31976a8ad76a16fcc439f38236d0dcccaac6d27922dc89ad13041dd21b4676c47a58fc99b1c001a2c08
|
data/lib/cronofy/client.rb
CHANGED
@@ -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.
|
data/lib/cronofy/version.rb
CHANGED
@@ -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
|
-
:
|
229
|
-
|
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
|
-
:
|
241
|
-
|
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
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
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.
|
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:
|
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.
|
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
|