google_calendar 0.2.8 → 0.2.9
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.
- data/.gitignore +45 -0
- data/.travis.yml +7 -0
- data/Gemfile +3 -3
- data/Gemfile.lock +26 -15
- data/README.rdoc +4 -0
- data/Rakefile +1 -21
- data/VERSION +1 -1
- data/google_calendar.gemspec +17 -47
- data/lib/google/connection.rb +38 -27
- data/lib/google/event.rb +22 -25
- metadata +13 -39
data/.gitignore
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
# rcov generated
|
2
|
+
coverage
|
3
|
+
|
4
|
+
# rdoc generated
|
5
|
+
rdoc
|
6
|
+
|
7
|
+
# yard generated
|
8
|
+
doc
|
9
|
+
.yardoc
|
10
|
+
|
11
|
+
# bundler
|
12
|
+
.bundle
|
13
|
+
|
14
|
+
# jeweler generated
|
15
|
+
pkg
|
16
|
+
|
17
|
+
# Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
|
18
|
+
#
|
19
|
+
# * Create a file at ~/.gitignore
|
20
|
+
# * Include files you want ignored
|
21
|
+
# * Run: git config --global core.excludesfile ~/.gitignore
|
22
|
+
#
|
23
|
+
# After doing this, these files will be ignored in all your git projects,
|
24
|
+
# saving you from having to 'pollute' every project you touch with them
|
25
|
+
#
|
26
|
+
# Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
|
27
|
+
#
|
28
|
+
|
29
|
+
# For MacOS:
|
30
|
+
#
|
31
|
+
.DS_Store
|
32
|
+
|
33
|
+
|
34
|
+
# For TextMate
|
35
|
+
*.tmproj
|
36
|
+
tmtags
|
37
|
+
|
38
|
+
|
39
|
+
# For emacs:
|
40
|
+
#*~
|
41
|
+
#\#*
|
42
|
+
#.\#*
|
43
|
+
#
|
44
|
+
# For vim:
|
45
|
+
#*.swp
|
data/.travis.yml
ADDED
data/Gemfile
CHANGED
@@ -7,8 +7,8 @@ gem "addressable", ">= 2.2.2"
|
|
7
7
|
# Gem development dependencies.
|
8
8
|
group :development do
|
9
9
|
gem "shoulda", ">= 0"
|
10
|
-
gem "bundler", "
|
11
|
-
gem "jeweler", "~> 1.5.1"
|
12
|
-
gem "rcov", ">= 0"
|
10
|
+
gem "bundler", ">= 1.0.0"
|
13
11
|
gem "mocha", ">= 0"
|
12
|
+
gem "rake", "> 10"
|
13
|
+
gem "rdoc", "> 3"
|
14
14
|
end
|
data/Gemfile.lock
CHANGED
@@ -1,27 +1,38 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
4
|
+
activesupport (3.2.12)
|
5
|
+
i18n (~> 0.6)
|
6
|
+
multi_json (~> 1.0)
|
7
|
+
addressable (2.3.2)
|
8
|
+
bourne (1.1.2)
|
9
|
+
mocha (= 0.10.5)
|
10
|
+
i18n (0.6.1)
|
11
|
+
json (1.7.7)
|
12
|
+
metaclass (0.0.1)
|
13
|
+
mocha (0.10.5)
|
14
|
+
metaclass (~> 0.0.1)
|
15
|
+
multi_json (1.6.1)
|
16
|
+
nokogiri (1.5.6)
|
17
|
+
rake (10.0.3)
|
18
|
+
rdoc (3.12.1)
|
19
|
+
json (~> 1.4)
|
20
|
+
shoulda (3.3.2)
|
21
|
+
shoulda-context (~> 1.0.1)
|
22
|
+
shoulda-matchers (~> 1.4.1)
|
23
|
+
shoulda-context (1.0.2)
|
24
|
+
shoulda-matchers (1.4.2)
|
25
|
+
activesupport (>= 3.0.0)
|
26
|
+
bourne (~> 1.1.2)
|
16
27
|
|
17
28
|
PLATFORMS
|
18
29
|
ruby
|
19
30
|
|
20
31
|
DEPENDENCIES
|
21
32
|
addressable (>= 2.2.2)
|
22
|
-
bundler (
|
23
|
-
jeweler (~> 1.5.1)
|
33
|
+
bundler (>= 1.0.0)
|
24
34
|
mocha
|
25
35
|
nokogiri (>= 1.4.4)
|
26
|
-
|
36
|
+
rake (> 10)
|
37
|
+
rdoc (> 3)
|
27
38
|
shoulda
|
data/README.rdoc
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
[](https://travis-ci.org/northworld/google_calendar)
|
2
|
+
|
3
|
+
[](https://codeclimate.com/github/northworld/google_calendar)
|
4
|
+
|
1
5
|
= Google Calendar
|
2
6
|
|
3
7
|
A fast lightweight and minimalist wrapper around the google calendar api.
|
data/Rakefile
CHANGED
@@ -9,19 +9,6 @@ rescue Bundler::BundlerError => e
|
|
9
9
|
end
|
10
10
|
require 'rake'
|
11
11
|
|
12
|
-
require 'jeweler'
|
13
|
-
Jeweler::Tasks.new do |gem|
|
14
|
-
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
15
|
-
gem.name = "google_calendar"
|
16
|
-
gem.homepage = "http://github.com/northworld/google_calendar"
|
17
|
-
gem.license = "MIT"
|
18
|
-
gem.summary = %Q{A lightweight google calendar API wrapper}
|
19
|
-
gem.description = %Q{A minimal wrapper around the google calendar API, which uses nokogiri for fast parsing.}
|
20
|
-
gem.email = "steve.zich@gmail.com"
|
21
|
-
gem.authors = ["Steve Zich"]
|
22
|
-
end
|
23
|
-
Jeweler::RubygemsDotOrgTasks.new
|
24
|
-
|
25
12
|
require 'rake/testtask'
|
26
13
|
Rake::TestTask.new(:test) do |test|
|
27
14
|
test.libs << 'lib' << 'test'
|
@@ -29,16 +16,9 @@ Rake::TestTask.new(:test) do |test|
|
|
29
16
|
test.verbose = true
|
30
17
|
end
|
31
18
|
|
32
|
-
require 'rcov/rcovtask'
|
33
|
-
Rcov::RcovTask.new do |test|
|
34
|
-
test.libs << 'test'
|
35
|
-
test.pattern = 'test/**/test_*.rb'
|
36
|
-
test.verbose = true
|
37
|
-
end
|
38
|
-
|
39
19
|
task :default => :test
|
40
20
|
|
41
|
-
require '
|
21
|
+
require 'rdoc/task'
|
42
22
|
Rake::RDocTask.new do |rdoc|
|
43
23
|
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
44
24
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.9
|
data/google_calendar.gemspec
CHANGED
@@ -1,55 +1,31 @@
|
|
1
|
-
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
1
|
# -*- encoding: utf-8 -*-
|
5
2
|
|
6
3
|
Gem::Specification.new do |s|
|
7
4
|
s.name = "google_calendar"
|
8
|
-
s.version = "0.2.
|
5
|
+
s.version = "0.2.9"
|
6
|
+
s.date = "2013-02-15"
|
9
7
|
|
10
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
9
|
+
|
11
10
|
s.authors = ["Steve Zich"]
|
12
|
-
s.date = "2013-01-10"
|
13
|
-
s.description = "A minimal wrapper around the google calendar API, which uses nokogiri for fast parsing."
|
14
11
|
s.email = "steve.zich@gmail.com"
|
12
|
+
|
13
|
+
s.summary = "A lightweight google calendar API wrapper"
|
14
|
+
s.description = "A minimal wrapper around the google calendar API, which uses nokogiri for fast parsing."
|
15
|
+
s.homepage = "http://github.com/northworld/google_calendar"
|
16
|
+
s.licenses = ["MIT"]
|
17
|
+
|
15
18
|
s.extra_rdoc_files = [
|
16
19
|
"LICENSE.txt",
|
17
20
|
"README.rdoc"
|
18
21
|
]
|
19
|
-
|
20
|
-
|
21
|
-
"
|
22
|
-
|
23
|
-
"LICENSE.txt",
|
24
|
-
"README.rdoc",
|
25
|
-
"Rakefile",
|
26
|
-
"VERSION",
|
27
|
-
"google_calendar.gemspec",
|
28
|
-
"lib/google/calendar.rb",
|
29
|
-
"lib/google/connection.rb",
|
30
|
-
"lib/google/errors.rb",
|
31
|
-
"lib/google/event.rb",
|
32
|
-
"lib/google/net/https.rb",
|
33
|
-
"lib/google_calendar.rb",
|
34
|
-
"test/helper.rb",
|
35
|
-
"test/mocks/create_event.xml",
|
36
|
-
"test/mocks/create_quickadd_event.xml",
|
37
|
-
"test/mocks/events.xml",
|
38
|
-
"test/mocks/find_event_by_id.xml",
|
39
|
-
"test/mocks/list_calendars.xml",
|
40
|
-
"test/mocks/query_events.xml",
|
41
|
-
"test/mocks/successful_login.txt",
|
42
|
-
"test/test_google_calendar.rb"
|
43
|
-
]
|
44
|
-
s.homepage = "http://github.com/northworld/google_calendar"
|
45
|
-
s.licenses = ["MIT"]
|
22
|
+
|
23
|
+
s.files = `git ls-files`.split("\n")
|
24
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
25
|
+
|
46
26
|
s.require_paths = ["lib"]
|
47
27
|
s.rubygems_version = "1.8.24"
|
48
|
-
|
49
|
-
s.test_files = [
|
50
|
-
"test/helper.rb",
|
51
|
-
"test/test_google_calendar.rb"
|
52
|
-
]
|
28
|
+
|
53
29
|
|
54
30
|
if s.respond_to? :specification_version then
|
55
31
|
s.specification_version = 3
|
@@ -58,26 +34,20 @@ Gem::Specification.new do |s|
|
|
58
34
|
s.add_runtime_dependency(%q<nokogiri>, [">= 1.4.4"])
|
59
35
|
s.add_runtime_dependency(%q<addressable>, [">= 2.2.2"])
|
60
36
|
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
61
|
-
s.add_development_dependency(%q<bundler>, ["
|
62
|
-
s.add_development_dependency(%q<jeweler>, ["~> 1.5.1"])
|
63
|
-
s.add_development_dependency(%q<rcov>, [">= 0"])
|
37
|
+
s.add_development_dependency(%q<bundler>, [">= 1.0.0"])
|
64
38
|
s.add_development_dependency(%q<mocha>, [">= 0"])
|
65
39
|
else
|
66
40
|
s.add_dependency(%q<nokogiri>, [">= 1.4.4"])
|
67
41
|
s.add_dependency(%q<addressable>, [">= 2.2.2"])
|
68
42
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
69
|
-
s.add_dependency(%q<bundler>, ["
|
70
|
-
s.add_dependency(%q<jeweler>, ["~> 1.5.1"])
|
71
|
-
s.add_dependency(%q<rcov>, [">= 0"])
|
43
|
+
s.add_dependency(%q<bundler>, [">= 1.0.0"])
|
72
44
|
s.add_dependency(%q<mocha>, [">= 0"])
|
73
45
|
end
|
74
46
|
else
|
75
47
|
s.add_dependency(%q<nokogiri>, [">= 1.4.4"])
|
76
48
|
s.add_dependency(%q<addressable>, [">= 2.2.2"])
|
77
49
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
78
|
-
s.add_dependency(%q<bundler>, ["
|
79
|
-
s.add_dependency(%q<jeweler>, ["~> 1.5.1"])
|
80
|
-
s.add_dependency(%q<rcov>, [">= 0"])
|
50
|
+
s.add_dependency(%q<bundler>, [">= 1.0.0"])
|
81
51
|
s.add_dependency(%q<mocha>, [">= 0"])
|
82
52
|
end
|
83
53
|
end
|
data/lib/google/connection.rb
CHANGED
@@ -49,36 +49,61 @@ module Google
|
|
49
49
|
set_session_if_necessary(uri)
|
50
50
|
|
51
51
|
http = (uri.scheme == 'https' ? Net::HTTPS.new(uri.host, uri.inferred_port) : Net::HTTP.new(uri.host, uri.inferred_port))
|
52
|
+
response = http.request(build_request(uri, method, content))
|
52
53
|
|
54
|
+
# recurse if necessary.
|
55
|
+
if response.kind_of? Net::HTTPRedirection
|
56
|
+
response = send(Addressable::URI.parse(response['location']), method, content, redirect_count - 1)
|
57
|
+
end
|
58
|
+
|
59
|
+
check_for_errors(response)
|
60
|
+
|
61
|
+
return response
|
62
|
+
end
|
63
|
+
|
64
|
+
protected
|
65
|
+
|
66
|
+
# Check to see if we are using a session and extract it's values if required.
|
67
|
+
#
|
68
|
+
def set_session_if_necessary(uri) #:nodoc:
|
69
|
+
# only extract the session if we don't already have one.
|
70
|
+
@session_id = uri.query_values['gsessionid'] if @session_id == nil && uri.query
|
71
|
+
|
72
|
+
if @session_id
|
73
|
+
uri.query ||= ''
|
74
|
+
uri.query_values = uri.query_values.merge({'gsessionid' => @session_id})
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
# Construct the appropriate request object.
|
79
|
+
#
|
80
|
+
def build_request(uri, method, content) #:nodoc
|
53
81
|
case method
|
54
82
|
when :delete
|
55
|
-
# puts "in delete: #{uri.to_s}"
|
56
83
|
request = Net::HTTP::Delete.new(uri.to_s, @update_header)
|
84
|
+
|
57
85
|
when :get
|
58
|
-
# puts "in get: #{uri.to_s}"
|
59
86
|
request = Net::HTTP::Get.new(uri.to_s, @headers)
|
87
|
+
|
60
88
|
when :post_form
|
61
|
-
# puts "in post_form: #{uri.to_s}"
|
62
89
|
request = Net::HTTP::Post.new(uri.to_s, @headers)
|
63
90
|
request.set_form_data(content)
|
91
|
+
|
64
92
|
when :post
|
65
|
-
# puts "in post: #{uri.to_s}\n#{content}"
|
66
93
|
request = Net::HTTP::Post.new(uri.to_s, @headers)
|
67
94
|
request.body = content
|
95
|
+
|
68
96
|
when :put
|
69
|
-
# puts "in put: #{uri.to_s}\n#{content}"
|
70
97
|
request = Net::HTTP::Put.new(uri.to_s, @update_header)
|
71
98
|
request.body = content
|
72
|
-
end
|
99
|
+
end # case
|
73
100
|
|
74
|
-
|
75
|
-
|
76
|
-
# recurse if necessary.
|
77
|
-
if response.kind_of? Net::HTTPRedirection
|
78
|
-
response = send(Addressable::URI.parse(response['location']), method, content, redirect_count - 1)
|
79
|
-
end
|
101
|
+
return request
|
102
|
+
end
|
80
103
|
|
81
|
-
|
104
|
+
# Check for common HTTP Errors and raise the appropriate response.
|
105
|
+
#
|
106
|
+
def check_for_errors(response) #:nodoc
|
82
107
|
if response.kind_of? Net::HTTPForbidden
|
83
108
|
raise HTTPAuthorizationFailed, response.body
|
84
109
|
|
@@ -88,20 +113,6 @@ module Google
|
|
88
113
|
elsif response.kind_of? Net::HTTPNotFound
|
89
114
|
raise HTTPNotFound, response.body
|
90
115
|
end
|
91
|
-
|
92
|
-
return response
|
93
|
-
end
|
94
|
-
|
95
|
-
protected
|
96
|
-
|
97
|
-
def set_session_if_necessary(uri) #:nodoc:
|
98
|
-
# only extract the session if we don't already have one.
|
99
|
-
@session_id = uri.query_values['gsessionid'] if @session_id == nil && uri.query
|
100
|
-
|
101
|
-
if @session_id
|
102
|
-
uri.query ||= ''
|
103
|
-
uri.query_values = uri.query_values.merge({'gsessionid' => @session_id})
|
104
|
-
end
|
105
116
|
end
|
106
117
|
|
107
118
|
end
|
data/lib/google/event.rb
CHANGED
@@ -3,7 +3,7 @@ require 'time'
|
|
3
3
|
|
4
4
|
module Google
|
5
5
|
|
6
|
-
# Represents a
|
6
|
+
# Represents a Google Event.
|
7
7
|
#
|
8
8
|
# === Attributes
|
9
9
|
#
|
@@ -50,8 +50,7 @@ module Google
|
|
50
50
|
# Sets the start time of the Event. Must be a Time object or a parsable string representation of a time.
|
51
51
|
#
|
52
52
|
def start_time=(time)
|
53
|
-
|
54
|
-
@start_time = (time.is_a? String) ? Time.parse(time) : time.dup.utc
|
53
|
+
@start_time = parse_time(time)
|
55
54
|
end
|
56
55
|
|
57
56
|
# Get the start_time of the event.
|
@@ -75,6 +74,7 @@ module Google
|
|
75
74
|
# Sets the end time of the Event. Must be a Time object or a parsable string representation of a time.
|
76
75
|
#
|
77
76
|
def end_time=(time)
|
77
|
+
@end_time = parse_time(time)
|
78
78
|
raise ArgumentError, "End Time must be either Time or String" unless (time.is_a?(String) || time.is_a?(Time))
|
79
79
|
@end_time = (time.is_a? String) ? Time.parse(time) : time.dup.utc
|
80
80
|
end
|
@@ -83,7 +83,7 @@ module Google
|
|
83
83
|
#
|
84
84
|
def all_day?
|
85
85
|
time = Time.parse(@start_time)
|
86
|
-
duration % (24 * 60 * 60) == 0 && time == Time.
|
86
|
+
duration % (24 * 60 * 60) == 0 && time == Time.local(time.year,time.month,time.day)
|
87
87
|
end
|
88
88
|
|
89
89
|
def all_day=(time)
|
@@ -163,27 +163,17 @@ module Google
|
|
163
163
|
# Create a new event from a google 'entry' xml block.
|
164
164
|
#
|
165
165
|
def self.new_from_xml(xml, calendar) #:nodoc:
|
166
|
-
id
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
:title => title,
|
178
|
-
:content => content,
|
179
|
-
:where => where,
|
180
|
-
:start_time => start_time,
|
181
|
-
:end_time => end_time,
|
182
|
-
:calendar => calendar,
|
183
|
-
:raw_xml => xml,
|
184
|
-
:transparency => transparency,
|
185
|
-
:quickadd => quickadd,
|
186
|
-
:html_link => html_link)
|
166
|
+
Event.new(:id => xml.at_xpath("gCal:uid")['value'].split('@').first,
|
167
|
+
:calendar => calendar,
|
168
|
+
:raw_xml => xml,
|
169
|
+
:title => xml.at_xpath("xmlns:title").content,
|
170
|
+
:content => xml.at_xpath("xmlns:content").content,
|
171
|
+
:where => xml.at_xpath("gd:where")['valueString'],
|
172
|
+
:start_time => xml.at_xpath("gd:when")['startTime'],
|
173
|
+
:end_time => xml.at_xpath("gd:when")['endTime'],
|
174
|
+
:transparency => xml.at_xpath("gd:transparency")['value'].split('.').last,
|
175
|
+
:quickadd => (xml.at_xpath("gCal:quickadd") ? (xml.at_xpath("gCal:quickadd")['quickadd']) : nil),
|
176
|
+
:html_link => xml.at_xpath('//xmlns:link[@title="alternate" and @rel="alternate" and @type="text/html"]')['href'])
|
187
177
|
end
|
188
178
|
|
189
179
|
# Set the ID after google assigns it (only necessary when we are creating a new event)
|
@@ -197,5 +187,12 @@ module Google
|
|
197
187
|
@raw_xml = xml
|
198
188
|
end
|
199
189
|
|
190
|
+
# A utility method used centralize time parsing.
|
191
|
+
#
|
192
|
+
def parse_time(time) #:nodoc
|
193
|
+
raise ArgumentError, "Start Time must be either Time or String" unless (time.is_a?(String) || time.is_a?(Time))
|
194
|
+
(time.is_a? String) ? Time.parse(time) : time.dup.utc
|
195
|
+
end
|
196
|
+
|
200
197
|
end
|
201
198
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google_calendar
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.9
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-02-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|
@@ -61,44 +61,12 @@ dependencies:
|
|
61
61
|
version: '0'
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
63
|
name: bundler
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
|
-
requirements:
|
67
|
-
- - ~>
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: 1.0.0
|
70
|
-
type: :development
|
71
|
-
prerelease: false
|
72
|
-
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - ~>
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: 1.0.0
|
78
|
-
- !ruby/object:Gem::Dependency
|
79
|
-
name: jeweler
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
|
-
requirements:
|
83
|
-
- - ~>
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
version: 1.5.1
|
86
|
-
type: :development
|
87
|
-
prerelease: false
|
88
|
-
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
|
-
requirements:
|
91
|
-
- - ~>
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: 1.5.1
|
94
|
-
- !ruby/object:Gem::Dependency
|
95
|
-
name: rcov
|
96
64
|
requirement: !ruby/object:Gem::Requirement
|
97
65
|
none: false
|
98
66
|
requirements:
|
99
67
|
- - ! '>='
|
100
68
|
- !ruby/object:Gem::Version
|
101
|
-
version:
|
69
|
+
version: 1.0.0
|
102
70
|
type: :development
|
103
71
|
prerelease: false
|
104
72
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -106,7 +74,7 @@ dependencies:
|
|
106
74
|
requirements:
|
107
75
|
- - ! '>='
|
108
76
|
- !ruby/object:Gem::Version
|
109
|
-
version:
|
77
|
+
version: 1.0.0
|
110
78
|
- !ruby/object:Gem::Dependency
|
111
79
|
name: mocha
|
112
80
|
requirement: !ruby/object:Gem::Requirement
|
@@ -133,6 +101,8 @@ extra_rdoc_files:
|
|
133
101
|
- README.rdoc
|
134
102
|
files:
|
135
103
|
- .document
|
104
|
+
- .gitignore
|
105
|
+
- .travis.yml
|
136
106
|
- Gemfile
|
137
107
|
- Gemfile.lock
|
138
108
|
- LICENSE.txt
|
@@ -168,9 +138,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
168
138
|
- - ! '>='
|
169
139
|
- !ruby/object:Gem::Version
|
170
140
|
version: '0'
|
171
|
-
segments:
|
172
|
-
- 0
|
173
|
-
hash: 2763887538730031791
|
174
141
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
175
142
|
none: false
|
176
143
|
requirements:
|
@@ -185,4 +152,11 @@ specification_version: 3
|
|
185
152
|
summary: A lightweight google calendar API wrapper
|
186
153
|
test_files:
|
187
154
|
- test/helper.rb
|
155
|
+
- test/mocks/create_event.xml
|
156
|
+
- test/mocks/create_quickadd_event.xml
|
157
|
+
- test/mocks/events.xml
|
158
|
+
- test/mocks/find_event_by_id.xml
|
159
|
+
- test/mocks/list_calendars.xml
|
160
|
+
- test/mocks/query_events.xml
|
161
|
+
- test/mocks/successful_login.txt
|
188
162
|
- test/test_google_calendar.rb
|