google_calendar 0.1.3 → 0.1.4

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.3
1
+ 0.1.4
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{google_calendar}
8
- s.version = "0.1.3"
8
+ s.version = "0.1.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Steve Zich"]
12
- s.date = %q{2011-01-28}
12
+ s.date = %q{2011-02-09}
13
13
  s.description = %q{A minimal wrapper around the google calendar API, which uses nokogiri for fast parsing.}
14
14
  s.email = %q{steve.zich@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -42,7 +42,7 @@ Gem::Specification.new do |s|
42
42
  s.homepage = %q{http://github.com/northworld/google_calendar}
43
43
  s.licenses = ["MIT"]
44
44
  s.require_paths = ["lib"]
45
- s.rubygems_version = %q{1.4.2}
45
+ s.rubygems_version = %q{1.5.0}
46
46
  s.summary = %q{A lightweight google calendar API wrapper}
47
47
  s.test_files = [
48
48
  "test/helper.rb",
@@ -62,6 +62,20 @@ module Google
62
62
  event_lookup("?q=#{query}")
63
63
  end
64
64
 
65
+ # Find all of the events associated with this calendar that start in the given time frame.
66
+ # The lower bound is inclusive, whereas the upper bound is exclusive.
67
+ # Events that overlap the range are included.
68
+ # Returns:
69
+ # nil if nothing found.
70
+ # a single event if only one found.
71
+ # an array of events if many found.
72
+ #
73
+ def find_events_in_range(start_min, start_max)
74
+ formatted_start_min = start_min.strftime("%Y-%m-%dT%H:%M:%S")
75
+ formatted_start_max = start_max.strftime("%Y-%m-%dT%H:%M:%S")
76
+ event_lookup("?start-min=#{formatted_start_min}&start-max=#{formatted_start_max}")
77
+ end
78
+
65
79
  # Attempts to find the event specified by the id
66
80
  # Returns:
67
81
  # nil if nothing found.
@@ -86,6 +86,13 @@ class TestGoogleCalendar < Test::Unit::TestCase
86
86
  assert_equal event.title, 'Test'
87
87
  end
88
88
 
89
+ should "find events in range" do
90
+ start_min = DateTime.new(2011, 2, 1, 11, 1, 1)
91
+ start_max = DateTime.new(2011, 2, 28, 23, 59, 59)
92
+ @calendar.expects(:event_lookup).with('?start-min=2011-02-01T11:01:01&start-max=2011-02-28T23:59:59')
93
+ events = @calendar.find_events_in_range(start_min, start_max)
94
+ end
95
+
89
96
  should "find an event by id" do
90
97
  @http_mock.stubs(:body).returns( get_mock_body("find_event_by_id.xml") )
91
98
  event = @calendar.find_event_by_id('oj6fmpaulbvk9ouoj0lj4v6hio')
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google_calendar
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 19
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 3
10
- version: 0.1.3
9
+ - 4
10
+ version: 0.1.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Steve Zich
@@ -15,11 +15,11 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-01-28 00:00:00 -08:00
18
+ date: 2011-02-09 00:00:00 -08:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- type: :runtime
22
+ name: nokogiri
23
23
  version_requirements: &id001 !ruby/object:Gem::Requirement
24
24
  none: false
25
25
  requirements:
@@ -31,11 +31,11 @@ dependencies:
31
31
  - 4
32
32
  - 4
33
33
  version: 1.4.4
34
- requirement: *id001
35
34
  prerelease: false
36
- name: nokogiri
37
- - !ruby/object:Gem::Dependency
38
35
  type: :runtime
36
+ requirement: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: addressable
39
39
  version_requirements: &id002 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
@@ -47,11 +47,11 @@ dependencies:
47
47
  - 2
48
48
  - 2
49
49
  version: 2.2.2
50
- requirement: *id002
51
50
  prerelease: false
52
- name: addressable
51
+ type: :runtime
52
+ requirement: *id002
53
53
  - !ruby/object:Gem::Dependency
54
- type: :development
54
+ name: shoulda
55
55
  version_requirements: &id003 !ruby/object:Gem::Requirement
56
56
  none: false
57
57
  requirements:
@@ -61,11 +61,11 @@ dependencies:
61
61
  segments:
62
62
  - 0
63
63
  version: "0"
64
- requirement: *id003
65
64
  prerelease: false
66
- name: shoulda
67
- - !ruby/object:Gem::Dependency
68
65
  type: :development
66
+ requirement: *id003
67
+ - !ruby/object:Gem::Dependency
68
+ name: bundler
69
69
  version_requirements: &id004 !ruby/object:Gem::Requirement
70
70
  none: false
71
71
  requirements:
@@ -77,11 +77,11 @@ dependencies:
77
77
  - 0
78
78
  - 0
79
79
  version: 1.0.0
80
- requirement: *id004
81
80
  prerelease: false
82
- name: bundler
83
- - !ruby/object:Gem::Dependency
84
81
  type: :development
82
+ requirement: *id004
83
+ - !ruby/object:Gem::Dependency
84
+ name: jeweler
85
85
  version_requirements: &id005 !ruby/object:Gem::Requirement
86
86
  none: false
87
87
  requirements:
@@ -93,11 +93,11 @@ dependencies:
93
93
  - 5
94
94
  - 1
95
95
  version: 1.5.1
96
- requirement: *id005
97
96
  prerelease: false
98
- name: jeweler
99
- - !ruby/object:Gem::Dependency
100
97
  type: :development
98
+ requirement: *id005
99
+ - !ruby/object:Gem::Dependency
100
+ name: rcov
101
101
  version_requirements: &id006 !ruby/object:Gem::Requirement
102
102
  none: false
103
103
  requirements:
@@ -107,11 +107,11 @@ dependencies:
107
107
  segments:
108
108
  - 0
109
109
  version: "0"
110
- requirement: *id006
111
110
  prerelease: false
112
- name: rcov
113
- - !ruby/object:Gem::Dependency
114
111
  type: :development
112
+ requirement: *id006
113
+ - !ruby/object:Gem::Dependency
114
+ name: mocha
115
115
  version_requirements: &id007 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
@@ -121,9 +121,9 @@ dependencies:
121
121
  segments:
122
122
  - 0
123
123
  version: "0"
124
- requirement: *id007
125
124
  prerelease: false
126
- name: mocha
125
+ type: :development
126
+ requirement: *id007
127
127
  description: A minimal wrapper around the google calendar API, which uses nokogiri for fast parsing.
128
128
  email: steve.zich@gmail.com
129
129
  executables: []
@@ -185,7 +185,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
185
185
  requirements: []
186
186
 
187
187
  rubyforge_project:
188
- rubygems_version: 1.4.2
188
+ rubygems_version: 1.5.0
189
189
  signing_key:
190
190
  specification_version: 3
191
191
  summary: A lightweight google calendar API wrapper