cronofy 0.3.2 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/cronofy/client.rb +18 -2
- data/lib/cronofy/version.rb +1 -1
- data/spec/lib/cronofy/client_spec.rb +33 -4
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 87327b745d5c41ca1cb19a4058f895095d0bd13b
|
4
|
+
data.tar.gz: b5a255411695294ec9b97eb855d1109f36dd3e23
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b4236b61a9a7874dda9f09be63c83dc432487331159ab6030953fe650e0af8f9c488d9bdb77ecf5658c4dece165730e3b99737538ead79edd56e50ef0b21346e
|
7
|
+
data.tar.gz: 2df716944fb437daf393892d68cb0bcbdaaaaf61b13a09e39113c324580e821db56fdbe507797eb5e5678acbfda3b5d2e8f0899771419c3a85662b7efbfd8f3a
|
data/lib/cronofy/client.rb
CHANGED
@@ -103,13 +103,29 @@ module Cronofy
|
|
103
103
|
def upsert_event(calendar_id, event)
|
104
104
|
body = event.dup
|
105
105
|
|
106
|
-
body[:start] =
|
107
|
-
body[:end] =
|
106
|
+
body[:start] = encode_event_time(body[:start])
|
107
|
+
body[:end] = encode_event_time(body[:end])
|
108
108
|
|
109
109
|
post("/v1/calendars/#{calendar_id}/events", body)
|
110
110
|
nil
|
111
111
|
end
|
112
112
|
|
113
|
+
def encode_event_time(time)
|
114
|
+
result = time
|
115
|
+
|
116
|
+
case time
|
117
|
+
when Hash
|
118
|
+
if time[:time]
|
119
|
+
encoded_time = encode_event_time(time[:time])
|
120
|
+
time.merge(time: encoded_time)
|
121
|
+
else
|
122
|
+
time
|
123
|
+
end
|
124
|
+
else
|
125
|
+
to_iso8601(time)
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
113
129
|
# Public: Alias for #upsert_event
|
114
130
|
alias_method :create_or_update_event, :upsert_event
|
115
131
|
|
data/lib/cronofy/version.rb
CHANGED
@@ -180,8 +180,8 @@ describe Cronofy::Client do
|
|
180
180
|
hash_including(:event_id => "qTtZdczOccgaPncGJaCiLg",
|
181
181
|
:summary => "Board meeting",
|
182
182
|
:description => "Discuss plans for the next quarter.",
|
183
|
-
:start =>
|
184
|
-
:end =>
|
183
|
+
:start => encoded_start_datetime,
|
184
|
+
:end => encoded_end_datetime,
|
185
185
|
:location => {
|
186
186
|
:description => "Board room"
|
187
187
|
})
|
@@ -194,8 +194,37 @@ describe Cronofy::Client do
|
|
194
194
|
context 'when start/end are Times' do
|
195
195
|
let(:start_datetime) { Time.utc(2014, 8, 5, 15, 30, 0) }
|
196
196
|
let(:end_datetime) { Time.utc(2014, 8, 5, 17, 0, 0) }
|
197
|
-
let(:
|
198
|
-
let(:
|
197
|
+
let(:encoded_start_datetime) { "2014-08-05T15:30:00Z" }
|
198
|
+
let(:encoded_end_datetime) { "2014-08-05T17:00:00Z" }
|
199
|
+
|
200
|
+
it_behaves_like 'a Cronofy request'
|
201
|
+
end
|
202
|
+
|
203
|
+
context 'when start/end are complex times' do
|
204
|
+
let(:start_datetime) do
|
205
|
+
{
|
206
|
+
:time => Time.utc(2014, 8, 5, 15, 30, 0),
|
207
|
+
:tzid => "Europe/London",
|
208
|
+
}
|
209
|
+
end
|
210
|
+
let(:end_datetime) do
|
211
|
+
{
|
212
|
+
:time => Time.utc(2014, 8, 5, 17, 0, 0),
|
213
|
+
:tzid => "America/Los_Angeles",
|
214
|
+
}
|
215
|
+
end
|
216
|
+
let(:encoded_start_datetime) do
|
217
|
+
{
|
218
|
+
:time => "2014-08-05T15:30:00Z",
|
219
|
+
:tzid => "Europe/London",
|
220
|
+
}
|
221
|
+
end
|
222
|
+
let(:encoded_end_datetime) do
|
223
|
+
{
|
224
|
+
:time => "2014-08-05T17:00:00Z",
|
225
|
+
:tzid => "America/Los_Angeles",
|
226
|
+
}
|
227
|
+
end
|
199
228
|
|
200
229
|
it_behaves_like 'a Cronofy request'
|
201
230
|
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.
|
4
|
+
version: 0.4.0
|
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: 2015-
|
12
|
+
date: 2015-07-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: oauth2
|
@@ -142,7 +142,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
142
142
|
version: '0'
|
143
143
|
requirements: []
|
144
144
|
rubyforge_project:
|
145
|
-
rubygems_version: 2.4.
|
145
|
+
rubygems_version: 2.4.8
|
146
146
|
signing_key:
|
147
147
|
specification_version: 4
|
148
148
|
summary: Cronofy - one API for all the calendars
|