google_calendar 0.5 → 0.5.1
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/.gitignore +2 -1
- data/Gemfile.lock +18 -10
- data/VERSION +1 -1
- data/google_calendar.gemspec +3 -2
- data/lib/google/calendar.rb +128 -4
- data/lib/google/connection.rb +1 -1
- data/lib/google/event.rb +61 -9
- data/readme_code.rb +16 -3
- data/test/mocks/cancelled_events.json +9 -0
- data/test/mocks/create_event.json +24 -19
- data/test/mocks/events.json +88 -73
- data/test/mocks/find__all_day_event_by_id.json +24 -19
- data/test/mocks/find_event_by_id.json +24 -19
- data/test/mocks/missing_date.json +24 -19
- data/test/mocks/query_events.json +32 -27
- data/test/mocks/repeating_events.json +35 -30
- data/test/mocks/successful_login.json +3 -3
- data/test/test_google_calendar.rb +32 -6
- metadata +46 -30
@@ -1,45 +1,50 @@
|
|
1
1
|
{
|
2
|
-
"kind": "calendar#events",
|
3
|
-
"defaultReminders": [],
|
4
|
-
"description": "My Personal Events Calendar",
|
2
|
+
"kind": "calendar#events",
|
3
|
+
"defaultReminders": [],
|
4
|
+
"description": "My Personal Events Calendar",
|
5
5
|
"items": [
|
6
6
|
{
|
7
|
-
"status": "confirmed",
|
8
|
-
"kind": "calendar#event",
|
7
|
+
"status": "confirmed",
|
8
|
+
"kind": "calendar#event",
|
9
9
|
"end": {
|
10
10
|
"dateTime": "2008-09-24T11:00:00-07:00"
|
11
|
-
},
|
12
|
-
"description": "My Test Event",
|
13
|
-
"created": "2008-09-18T21:17:11.000Z",
|
14
|
-
"iCalUID": "fhru34kt6ikmr20knd2456l08n@google.com",
|
11
|
+
},
|
12
|
+
"description": "My Test Event",
|
13
|
+
"created": "2008-09-18T21:17:11.000Z",
|
14
|
+
"iCalUID": "fhru34kt6ikmr20knd2456l08n@google.com",
|
15
15
|
"reminders": {
|
16
16
|
"useDefault": true
|
17
|
-
},
|
18
|
-
"htmlLink": "https://www.google.com/calendar/event?eid=dDAwam5wcWMwOHJjYWJpNnBhNTQ5dHRqbGsgZ3FlYjBpNnY3MzdrZnU1bWQwZjNldWtqbGdAZw",
|
19
|
-
"sequence": 1,
|
20
|
-
"updated": "2008-10-24T23:08:09.010Z",
|
17
|
+
},
|
18
|
+
"htmlLink": "https://www.google.com/calendar/event?eid=dDAwam5wcWMwOHJjYWJpNnBhNTQ5dHRqbGsgZ3FlYjBpNnY3MzdrZnU1bWQwZjNldWtqbGdAZw",
|
19
|
+
"sequence": 1,
|
20
|
+
"updated": "2008-10-24T23:08:09.010Z",
|
21
21
|
"summary": "Test Event",
|
22
22
|
"colorId": "3",
|
23
23
|
"start": {
|
24
24
|
"dateTime": "2008-09-24T10:30:00-07:00"
|
25
|
-
},
|
26
|
-
"etag": "\"2449779378020000\"",
|
25
|
+
},
|
26
|
+
"etag": "\"2449779378020000\"",
|
27
27
|
"organizer": {
|
28
|
-
"self": true,
|
29
|
-
"displayName": "Some Person",
|
28
|
+
"self": true,
|
29
|
+
"displayName": "Some Person",
|
30
30
|
"email": "some.person@gmail.com"
|
31
|
-
},
|
31
|
+
},
|
32
32
|
"creator": {
|
33
|
-
"displayName": "Some Person",
|
33
|
+
"displayName": "Some Person",
|
34
34
|
"email": "some.person@gmail.com"
|
35
|
-
},
|
36
|
-
"id": "fhru34kt6ikmr20knd2456l08n"
|
35
|
+
},
|
36
|
+
"id": "fhru34kt6ikmr20knd2456l08n",
|
37
|
+
"extendedProperties": {
|
38
|
+
"shared": {
|
39
|
+
"key": "value"
|
40
|
+
}
|
41
|
+
}
|
37
42
|
}
|
38
|
-
],
|
39
|
-
"updated": "2014-11-15T22:32:46.965Z",
|
40
|
-
"summary": "My Events Calendar",
|
41
|
-
"etag": "\"1234567890123000\"",
|
42
|
-
"nextSyncToken": "AKi8uge987ECEIjyiZnV_cECGAU=",
|
43
|
-
"timeZone": "America/Los_Angeles",
|
43
|
+
],
|
44
|
+
"updated": "2014-11-15T22:32:46.965Z",
|
45
|
+
"summary": "My Events Calendar",
|
46
|
+
"etag": "\"1234567890123000\"",
|
47
|
+
"nextSyncToken": "AKi8uge987ECEIjyiZnV_cECGAU=",
|
48
|
+
"timeZone": "America/Los_Angeles",
|
44
49
|
"accessRole": "owner"
|
45
50
|
}
|
@@ -1,48 +1,53 @@
|
|
1
1
|
{
|
2
|
-
"kind": "calendar#events",
|
3
|
-
"defaultReminders": [],
|
4
|
-
"description": "My Personal Events Calendar",
|
2
|
+
"kind": "calendar#events",
|
3
|
+
"defaultReminders": [],
|
4
|
+
"description": "My Personal Events Calendar",
|
5
5
|
"items": [
|
6
6
|
{
|
7
|
-
"status": "confirmed",
|
8
|
-
"kind": "calendar#event",
|
7
|
+
"status": "confirmed",
|
8
|
+
"kind": "calendar#event",
|
9
9
|
"end": {
|
10
|
-
"timeZone": "America/Los_Angeles",
|
10
|
+
"timeZone": "America/Los_Angeles",
|
11
11
|
"dateTime": "2014-11-15T18:00:00-08:00"
|
12
|
-
},
|
13
|
-
"created": "2014-11-17T00:45:30.000Z",
|
14
|
-
"iCalUID": "fhru34kt6ikmr20knd2456l08n@google.com",
|
12
|
+
},
|
13
|
+
"created": "2014-11-17T00:45:30.000Z",
|
14
|
+
"iCalUID": "fhru34kt6ikmr20knd2456l08n@google.com",
|
15
15
|
"reminders": {
|
16
16
|
"useDefault": true
|
17
|
-
},
|
18
|
-
"htmlLink": "https://www.google.com/calendar/event?eid=MjRmNHZhY2pzY3A1YjB0NHE2OThoMGs2YXNfMjAxNDExMTZUMDEwMDAwWiBncWViMGk2djczN2tmdTVtZDBmM2V1a2psZ0Bn",
|
19
|
-
"sequence": 0,
|
20
|
-
"updated": "2014-11-17T00:45:30.431Z",
|
21
|
-
"summary": "Test Repeating Events",
|
17
|
+
},
|
18
|
+
"htmlLink": "https://www.google.com/calendar/event?eid=MjRmNHZhY2pzY3A1YjB0NHE2OThoMGs2YXNfMjAxNDExMTZUMDEwMDAwWiBncWViMGk2djczN2tmdTVtZDBmM2V1a2psZ0Bn",
|
19
|
+
"sequence": 0,
|
20
|
+
"updated": "2014-11-17T00:45:30.431Z",
|
21
|
+
"summary": "Test Repeating Events",
|
22
22
|
"recurrence": [
|
23
23
|
"RRULE:FREQ=DAILY;COUNT=3"
|
24
|
-
],
|
24
|
+
],
|
25
25
|
"start": {
|
26
|
-
"timeZone": "America/Los_Angeles",
|
26
|
+
"timeZone": "America/Los_Angeles",
|
27
27
|
"dateTime": "2014-11-15T17:00:00-08:00"
|
28
|
-
},
|
29
|
-
"etag": "\"2832370260862000\"",
|
28
|
+
},
|
29
|
+
"etag": "\"2832370260862000\"",
|
30
30
|
"organizer": {
|
31
|
-
"self": true,
|
32
|
-
"displayName": "Some Person",
|
31
|
+
"self": true,
|
32
|
+
"displayName": "Some Person",
|
33
33
|
"email": "some.person@gmail.com"
|
34
|
-
},
|
34
|
+
},
|
35
35
|
"creator": {
|
36
|
-
"displayName": "Some Person",
|
36
|
+
"displayName": "Some Person",
|
37
37
|
"email": "some.person@gmail.com"
|
38
|
-
},
|
39
|
-
"id": "fhru34kt6ikmr20knd2456l08n"
|
38
|
+
},
|
39
|
+
"id": "fhru34kt6ikmr20knd2456l08n",
|
40
|
+
"extendedProperties": {
|
41
|
+
"shared": {
|
42
|
+
"key": "value"
|
43
|
+
}
|
44
|
+
}
|
40
45
|
}
|
41
|
-
],
|
42
|
-
"updated": "2014-11-17T00:45:30.522Z",
|
43
|
-
"summary": "My Events Calendar",
|
44
|
-
"etag": "\"1416185130522000\"",
|
45
|
-
"nextSyncToken": "AKi8uge987ECEIjyiZnV_cECGAU=",
|
46
|
-
"timeZone": "America/Los_Angeles",
|
46
|
+
],
|
47
|
+
"updated": "2014-11-17T00:45:30.522Z",
|
48
|
+
"summary": "My Events Calendar",
|
49
|
+
"etag": "\"1416185130522000\"",
|
50
|
+
"nextSyncToken": "AKi8uge987ECEIjyiZnV_cECGAU=",
|
51
|
+
"timeZone": "America/Los_Angeles",
|
47
52
|
"accessRole": "owner"
|
48
53
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
|
-
"access_token": "ya29.hYjPO0uHt63uWr5qmQtMEReZEvILcdGlPCOHDy6quKPyEQaQQvqaVAlLAVASaRm_O0a7vkZ91T8xyQ",
|
3
|
-
"token_type": "Bearer",
|
4
|
-
"expires_in": 3600,
|
2
|
+
"access_token": "ya29.hYjPO0uHt63uWr5qmQtMEReZEvILcdGlPCOHDy6quKPyEQaQQvqaVAlLAVASaRm_O0a7vkZ91T8xyQ",
|
3
|
+
"token_type": "Bearer",
|
4
|
+
"expires_in": 3600,
|
5
5
|
"refresh_token": "1/aJUy7pQzc4fUMX89BMMLeAfKcYteBKRMpQvf4fQFX0"
|
6
6
|
}
|
@@ -92,6 +92,20 @@ class TestGoogleCalendar < Minitest::Test
|
|
92
92
|
@calendar.find_events_in_range(start_min, start_max)
|
93
93
|
end
|
94
94
|
|
95
|
+
should "find events with shared extended property" do
|
96
|
+
@calendar.expects(:event_lookup).with("?sharedExtendedProperty=p%3Dv&sharedExtendedProperty=q%3Dw&orderBy=startTime&maxResults=25&singleEvents=true")
|
97
|
+
@calendar.find_events_by_extended_properties({'shared' => {'p' => 'v', 'q' => 'w'}})
|
98
|
+
end
|
99
|
+
|
100
|
+
should "find events with shared extended property in range" do
|
101
|
+
now = Time.now.utc
|
102
|
+
Time.stubs(:now).returns(now)
|
103
|
+
start_min = now
|
104
|
+
start_max = (now + 60*60*24)
|
105
|
+
@calendar.expects(:event_lookup).with("?sharedExtendedProperty=p%3Dv&timeMin=#{start_min.strftime("%FT%TZ")}&timeMax=#{start_max.strftime("%FT%TZ")}&orderBy=startTime&maxResults=25&singleEvents=true")
|
106
|
+
@calendar.find_events_by_extended_properties_in_range({'shared' => {'p' => 'v'}}, start_min, start_max)
|
107
|
+
end
|
108
|
+
|
95
109
|
should "find future events" do
|
96
110
|
now = Time.now.utc
|
97
111
|
Time.stubs(:now).returns(now)
|
@@ -112,6 +126,12 @@ class TestGoogleCalendar < Minitest::Test
|
|
112
126
|
assert_equal events.class.to_s, "Array"
|
113
127
|
end
|
114
128
|
|
129
|
+
should "return one event in range as array from cancelled data" do
|
130
|
+
@client_mock.stubs(:body).returns( get_mock_body("cancelled_events.json") )
|
131
|
+
events = @calendar.events
|
132
|
+
assert_equal events.class.to_s, "Array"
|
133
|
+
end
|
134
|
+
|
115
135
|
should "return response of no events in range as array" do
|
116
136
|
@client_mock.stubs(:body).returns( get_mock_body("empty_events.json") )
|
117
137
|
events = @calendar.events
|
@@ -128,7 +148,7 @@ class TestGoogleCalendar < Minitest::Test
|
|
128
148
|
should "throw NotFound with invalid event id" do
|
129
149
|
@client_mock.stubs(:status).returns(404)
|
130
150
|
@client_mock.stubs(:body).returns( get_mock_body("404.json") )
|
131
|
-
assert_equal @calendar.find_event_by_id('1234'),
|
151
|
+
assert_equal @calendar.find_event_by_id('1234'), []
|
132
152
|
end
|
133
153
|
|
134
154
|
should "create an event with block" do
|
@@ -140,6 +160,7 @@ class TestGoogleCalendar < Minitest::Test
|
|
140
160
|
e.end_time = Time.now + (60 * 60 * 2)
|
141
161
|
e.description = "A new event"
|
142
162
|
e.location = "Joe's House"
|
163
|
+
e.extended_properties = {'shared' => {'key' => 'value' }}
|
143
164
|
end
|
144
165
|
|
145
166
|
assert_equal event.title, 'New Event'
|
@@ -259,7 +280,7 @@ class TestGoogleCalendar < Minitest::Test
|
|
259
280
|
end
|
260
281
|
context "when the event is marked as All Day in google calendar and have more than one day" do
|
261
282
|
should "be true" do
|
262
|
-
@event = Event.new(:start_time => "2012-03-31", :end_time => "2012-04-03")
|
283
|
+
@event = Event.new(:start_time => "2012-03-31", :end_time => "2012-04-03", :all_day => "2012-03-31")
|
263
284
|
assert @event.all_day?
|
264
285
|
end
|
265
286
|
end
|
@@ -329,6 +350,7 @@ class TestGoogleCalendar < Minitest::Test
|
|
329
350
|
{'email' => 'some.a.one@gmail.com', 'displayName' => 'Some A One', 'responseStatus' => 'tentative'},
|
330
351
|
{'email' => 'some.b.one@gmail.com', 'displayName' => 'Some B One', 'responseStatus' => 'tentative'}
|
331
352
|
]
|
353
|
+
@event.extended_properties = { 'shared' => { 'key' => 'value' }}
|
332
354
|
|
333
355
|
expected_structure = {
|
334
356
|
"summary" => "Go Swimming",
|
@@ -341,7 +363,8 @@ class TestGoogleCalendar < Minitest::Test
|
|
341
363
|
{"displayName" => "Some A One", "email" => "some.a.one@gmail.com", "responseStatus" => "tentative"},
|
342
364
|
{"displayName" => "Some B One", "email" => "some.b.one@gmail.com", "responseStatus" => "tentative"}
|
343
365
|
],
|
344
|
-
"reminders" => {"useDefault" => false, "overrides" => [{"method" => "popup", "minutes" => 10}]}
|
366
|
+
"reminders" => {"useDefault" => false, "overrides" => [{"method" => "popup", "minutes" => 10}]},
|
367
|
+
"extendedProperties" => {"shared" => {'key' => 'value'}}
|
345
368
|
}
|
346
369
|
assert_equal JSON.parse(@event.to_json), expected_structure
|
347
370
|
end
|
@@ -383,19 +406,22 @@ class TestGoogleCalendar < Minitest::Test
|
|
383
406
|
{'email' => 'some.b.one@gmail.com', 'displayName' => 'Some B One', 'responseStatus' => 'tentative'}
|
384
407
|
]
|
385
408
|
@event.recurrence = {freq: "monthly", count: "5", interval: "2"}
|
409
|
+
@event.extended_properties = {'shared' => {'key' => 'value'}}
|
410
|
+
require 'timezone_parser'
|
386
411
|
expected_structure = {
|
387
412
|
"summary" => "Go Swimming",
|
388
413
|
"visibility"=>"default",
|
389
414
|
"description" => "The polar bear plunge",
|
390
415
|
"location" => "In the arctic ocean",
|
391
|
-
"start" => {"dateTime" => "#{@event.start_time}", "timeZone" => "#{Time.now.getlocal.zone}"},
|
392
|
-
"end" => {"dateTime" => "#{@event.end_time}", "timeZone" => "#{Time.now.getlocal.zone}"},
|
416
|
+
"start" => {"dateTime" => "#{@event.start_time}", "timeZone" => "#{TimezoneParser::getTimezones(Time.now.getlocal.zone).last}"},
|
417
|
+
"end" => {"dateTime" => "#{@event.end_time}", "timeZone" => "#{TimezoneParser::getTimezones(Time.now.getlocal.zone).last}"},
|
393
418
|
"recurrence" => ["RRULE:FREQ=MONTHLY;COUNT=5;INTERVAL=2"],
|
394
419
|
"attendees" => [
|
395
420
|
{"displayName" => "Some A One", "email" => "some.a.one@gmail.com", "responseStatus" => "tentative"},
|
396
421
|
{"displayName" => "Some B One", "email" => "some.b.one@gmail.com", "responseStatus" => "tentative"}
|
397
422
|
],
|
398
|
-
"reminders" => {"useDefault" => false, "overrides" => [{"method" => "popup", "minutes"=>10}]}
|
423
|
+
"reminders" => {"useDefault" => false, "overrides" => [{"method" => "popup", "minutes"=>10}]},
|
424
|
+
"extendedProperties" => {"shared" => {'key' => 'value'}}
|
399
425
|
}
|
400
426
|
assert_equal JSON.parse(@event.to_json), expected_structure
|
401
427
|
end
|
metadata
CHANGED
@@ -1,167 +1,181 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google_calendar
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Steve Zich
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-10-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: signet
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0.6'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0.6'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: json
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '1.8'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.8'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: TimezoneParser
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.2.0
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.2.0
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: terminal-notifier-guard
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
44
58
|
requirements:
|
45
|
-
- -
|
59
|
+
- - ~>
|
46
60
|
- !ruby/object:Gem::Version
|
47
61
|
version: '1.6'
|
48
62
|
type: :development
|
49
63
|
prerelease: false
|
50
64
|
version_requirements: !ruby/object:Gem::Requirement
|
51
65
|
requirements:
|
52
|
-
- -
|
66
|
+
- - ~>
|
53
67
|
- !ruby/object:Gem::Version
|
54
68
|
version: '1.6'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: rb-fsevent
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
|
-
- -
|
73
|
+
- - ~>
|
60
74
|
- !ruby/object:Gem::Version
|
61
75
|
version: '0.9'
|
62
76
|
type: :development
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
|
-
- -
|
80
|
+
- - ~>
|
67
81
|
- !ruby/object:Gem::Version
|
68
82
|
version: '0.9'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: minitest
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
|
-
- -
|
87
|
+
- - ~>
|
74
88
|
- !ruby/object:Gem::Version
|
75
89
|
version: '5.1'
|
76
90
|
type: :development
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
|
-
- -
|
94
|
+
- - ~>
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: '5.1'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: minitest-reporters
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
|
-
- -
|
101
|
+
- - ~>
|
88
102
|
- !ruby/object:Gem::Version
|
89
103
|
version: '1.0'
|
90
104
|
type: :development
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
|
-
- -
|
108
|
+
- - ~>
|
95
109
|
- !ruby/object:Gem::Version
|
96
110
|
version: '1.0'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: shoulda-context
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
100
114
|
requirements:
|
101
|
-
- -
|
115
|
+
- - ~>
|
102
116
|
- !ruby/object:Gem::Version
|
103
117
|
version: '1.2'
|
104
118
|
type: :development
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
107
121
|
requirements:
|
108
|
-
- -
|
122
|
+
- - ~>
|
109
123
|
- !ruby/object:Gem::Version
|
110
124
|
version: '1.2'
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
126
|
name: bundler
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
114
128
|
requirements:
|
115
|
-
- -
|
129
|
+
- - '>='
|
116
130
|
- !ruby/object:Gem::Version
|
117
131
|
version: '1.2'
|
118
132
|
type: :development
|
119
133
|
prerelease: false
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
121
135
|
requirements:
|
122
|
-
- -
|
136
|
+
- - '>='
|
123
137
|
- !ruby/object:Gem::Version
|
124
138
|
version: '1.2'
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
140
|
name: mocha
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
128
142
|
requirements:
|
129
|
-
- -
|
143
|
+
- - ~>
|
130
144
|
- !ruby/object:Gem::Version
|
131
145
|
version: '1.1'
|
132
146
|
type: :development
|
133
147
|
prerelease: false
|
134
148
|
version_requirements: !ruby/object:Gem::Requirement
|
135
149
|
requirements:
|
136
|
-
- -
|
150
|
+
- - ~>
|
137
151
|
- !ruby/object:Gem::Version
|
138
152
|
version: '1.1'
|
139
153
|
- !ruby/object:Gem::Dependency
|
140
154
|
name: rake
|
141
155
|
requirement: !ruby/object:Gem::Requirement
|
142
156
|
requirements:
|
143
|
-
- -
|
157
|
+
- - ~>
|
144
158
|
- !ruby/object:Gem::Version
|
145
159
|
version: '10'
|
146
160
|
type: :development
|
147
161
|
prerelease: false
|
148
162
|
version_requirements: !ruby/object:Gem::Requirement
|
149
163
|
requirements:
|
150
|
-
- -
|
164
|
+
- - ~>
|
151
165
|
- !ruby/object:Gem::Version
|
152
166
|
version: '10'
|
153
167
|
- !ruby/object:Gem::Dependency
|
154
168
|
name: rdoc
|
155
169
|
requirement: !ruby/object:Gem::Requirement
|
156
170
|
requirements:
|
157
|
-
- -
|
171
|
+
- - ~>
|
158
172
|
- !ruby/object:Gem::Version
|
159
173
|
version: '4.1'
|
160
174
|
type: :development
|
161
175
|
prerelease: false
|
162
176
|
version_requirements: !ruby/object:Gem::Requirement
|
163
177
|
requirements:
|
164
|
-
- -
|
178
|
+
- - ~>
|
165
179
|
- !ruby/object:Gem::Version
|
166
180
|
version: '4.1'
|
167
181
|
description: A minimal wrapper around the google calendar API
|
@@ -172,9 +186,9 @@ extra_rdoc_files:
|
|
172
186
|
- LICENSE.txt
|
173
187
|
- README.rdoc
|
174
188
|
files:
|
175
|
-
-
|
176
|
-
-
|
177
|
-
-
|
189
|
+
- .document
|
190
|
+
- .gitignore
|
191
|
+
- .travis.yml
|
178
192
|
- Gemfile
|
179
193
|
- Gemfile.lock
|
180
194
|
- Guardfile
|
@@ -196,6 +210,7 @@ files:
|
|
196
210
|
- test/mocks/401.json
|
197
211
|
- test/mocks/403.json
|
198
212
|
- test/mocks/404.json
|
213
|
+
- test/mocks/cancelled_events.json
|
199
214
|
- test/mocks/create_event.json
|
200
215
|
- test/mocks/create_quickadd_event.json
|
201
216
|
- test/mocks/empty_events.json
|
@@ -222,17 +237,17 @@ require_paths:
|
|
222
237
|
- lib
|
223
238
|
required_ruby_version: !ruby/object:Gem::Requirement
|
224
239
|
requirements:
|
225
|
-
- -
|
240
|
+
- - '>='
|
226
241
|
- !ruby/object:Gem::Version
|
227
242
|
version: '0'
|
228
243
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
229
244
|
requirements:
|
230
|
-
- -
|
245
|
+
- - '>='
|
231
246
|
- !ruby/object:Gem::Version
|
232
247
|
version: '0'
|
233
248
|
requirements: []
|
234
249
|
rubyforge_project:
|
235
|
-
rubygems_version: 2.
|
250
|
+
rubygems_version: 2.0.3
|
236
251
|
signing_key:
|
237
252
|
specification_version: 4
|
238
253
|
summary: A lightweight Google Calendar API wrapper
|
@@ -241,6 +256,7 @@ test_files:
|
|
241
256
|
- test/mocks/401.json
|
242
257
|
- test/mocks/403.json
|
243
258
|
- test/mocks/404.json
|
259
|
+
- test/mocks/cancelled_events.json
|
244
260
|
- test/mocks/create_event.json
|
245
261
|
- test/mocks/create_quickadd_event.json
|
246
262
|
- test/mocks/empty_events.json
|