cronofy 0.14.0 → 0.15.0

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: 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