google_calendar 0.2.2 → 0.2.3

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.
Files changed (4) hide show
  1. data/VERSION +1 -1
  2. data/google_calendar.gemspec +8 -8
  3. data/lib/google/event.rb +20 -9
  4. metadata +115 -123
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.2
1
+ 0.2.3
@@ -4,14 +4,14 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{google_calendar}
8
- s.version = "0.2.2"
7
+ s.name = "google_calendar"
8
+ s.version = "0.2.3"
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{2012-03-27}
13
- s.description = %q{A minimal wrapper around the google calendar API, which uses nokogiri for fast parsing.}
14
- s.email = %q{steve.zich@gmail.com}
12
+ s.date = "2012-12-14"
13
+ s.description = "A minimal wrapper around the google calendar API, which uses nokogiri for fast parsing."
14
+ s.email = "steve.zich@gmail.com"
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE.txt",
17
17
  "README.rdoc"
@@ -41,11 +41,11 @@ Gem::Specification.new do |s|
41
41
  "test/mocks/successful_login.txt",
42
42
  "test/test_google_calendar.rb"
43
43
  ]
44
- s.homepage = %q{http://github.com/northworld/google_calendar}
44
+ s.homepage = "http://github.com/northworld/google_calendar"
45
45
  s.licenses = ["MIT"]
46
46
  s.require_paths = ["lib"]
47
- s.rubygems_version = %q{1.6.2}
48
- s.summary = %q{A lightweight google calendar API wrapper}
47
+ s.rubygems_version = "1.8.24"
48
+ s.summary = "A lightweight google calendar API wrapper"
49
49
  s.test_files = [
50
50
  "test/helper.rb",
51
51
  "test/test_google_calendar.rb"
data/lib/google/event.rb CHANGED
@@ -17,7 +17,7 @@ module Google
17
17
  #
18
18
  class Event
19
19
  attr_reader :id, :raw_xml
20
- attr_accessor :title, :content, :where, :calendar, :quickadd
20
+ attr_accessor :title, :content, :where, :calendar, :quickadd, :transparency
21
21
 
22
22
  # Create a new event, and optionally set it's attributes.
23
23
  #
@@ -40,6 +40,7 @@ module Google
40
40
  @calendar = params[:calendar]
41
41
  @raw_xml = params[:raw_xml]
42
42
  @quickadd = params[:quickadd]
43
+ @transparency = params[:transparency]
43
44
  end
44
45
 
45
46
  # Sets the start time of the Event. Must be a Time object or a parsable string representation of a time.
@@ -93,6 +94,14 @@ module Google
93
94
  Time.parse(end_time) - Time.parse(start_time)
94
95
  end
95
96
 
97
+ def transparent?
98
+ transparency == "transparent"
99
+ end
100
+
101
+ def opaque?
102
+ transparency == "opaque"
103
+ end
104
+
96
105
  #
97
106
  def self.build_from_google_feed(xml, calendar)
98
107
  Nokogiri::XML(xml).xpath("//xmlns:entry").collect {|e| new_from_xml(e, calendar)}
@@ -106,7 +115,7 @@ module Google
106
115
  <category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/g/2005#event'></category>
107
116
  <title type='text'>#{title}</title>
108
117
  <content type='text'>#{content}</content>
109
- <gd:transparency value='http://schemas.google.com/g/2005#event.opaque'></gd:transparency>
118
+ <gd:transparency value='http://schemas.google.com/g/2005#event.#{transparency}'></gd:transparency>
110
119
  <gd:eventStatus value='http://schemas.google.com/g/2005#event.confirmed'></gd:eventStatus>
111
120
  <gd:where valueString=\"#{where}\"></gd:where>
112
121
  <gd:when startTime=\"#{start_time}\" endTime=\"#{end_time}\"></gd:when>
@@ -149,13 +158,14 @@ module Google
149
158
  # Create a new event from a google 'entry' xml block.
150
159
  #
151
160
  def self.new_from_xml(xml, calendar) #:nodoc:
152
- id = xml.at_xpath("gCal:uid")['value'].split('@').first
153
- title = xml.at_xpath("xmlns:title").content
154
- content = xml.at_xpath("xmlns:content").content
155
- where = xml.at_xpath("gd:where")['valueString']
156
- start_time = xml.at_xpath("gd:when")['startTime']
157
- end_time = xml.at_xpath("gd:when")['endTime']
158
- quickadd = xml.at_xpath("gCal:quickadd") ? xml.at_xpath("gCal:quickadd")['quickadd'] : nil
161
+ id = xml.at_xpath("gCal:uid")['value'].split('@').first
162
+ title = xml.at_xpath("xmlns:title").content
163
+ content = xml.at_xpath("xmlns:content").content
164
+ where = xml.at_xpath("gd:where")['valueString']
165
+ start_time = xml.at_xpath("gd:when")['startTime']
166
+ end_time = xml.at_xpath("gd:when")['endTime']
167
+ transparency = xml.at_xpath("gd:transparency")['value'].split('.').last
168
+ quickadd = xml.at_xpath("gCal:quickadd") ? xml.at_xpath("gCal:quickadd")['quickadd'] : nil
159
169
 
160
170
  Event.new(:id => id,
161
171
  :title => title,
@@ -165,6 +175,7 @@ module Google
165
175
  :end_time => end_time,
166
176
  :calendar => calendar,
167
177
  :raw_xml => xml,
178
+ :transparency => transparency,
168
179
  :quickadd => quickadd)
169
180
  end
170
181
 
metadata CHANGED
@@ -1,139 +1,137 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: google_calendar
3
- version: !ruby/object:Gem::Version
4
- hash: 19
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.3
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 2
9
- - 2
10
- version: 0.2.2
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Steve Zich
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-03-27 00:00:00 -07:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
22
- type: :runtime
23
- requirement: &id001 !ruby/object:Gem::Requirement
12
+ date: 2012-12-14 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: nokogiri
16
+ requirement: !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 15
29
- segments:
30
- - 1
31
- - 4
32
- - 4
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
33
21
  version: 1.4.4
34
- name: nokogiri
35
- version_requirements: *id001
36
- prerelease: false
37
- - !ruby/object:Gem::Dependency
38
22
  type: :runtime
39
- requirement: &id002 !ruby/object:Gem::Requirement
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
40
25
  none: false
41
- requirements:
42
- - - ">="
43
- - !ruby/object:Gem::Version
44
- hash: 3
45
- segments:
46
- - 2
47
- - 2
48
- - 2
49
- version: 2.2.2
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 1.4.4
30
+ - !ruby/object:Gem::Dependency
50
31
  name: addressable
51
- version_requirements: *id002
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: 2.2.2
38
+ type: :runtime
52
39
  prerelease: false
53
- - !ruby/object:Gem::Dependency
54
- type: :development
55
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
56
41
  none: false
57
- requirements:
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- hash: 3
61
- segments:
62
- - 0
63
- version: "0"
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 2.2.2
46
+ - !ruby/object:Gem::Dependency
64
47
  name: shoulda
65
- version_requirements: *id003
66
- prerelease: false
67
- - !ruby/object:Gem::Dependency
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
68
54
  type: :development
69
- requirement: &id004 !ruby/object:Gem::Requirement
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: bundler
64
+ requirement: !ruby/object:Gem::Requirement
70
65
  none: false
71
- requirements:
66
+ requirements:
72
67
  - - ~>
73
- - !ruby/object:Gem::Version
74
- hash: 23
75
- segments:
76
- - 1
77
- - 0
78
- - 0
68
+ - !ruby/object:Gem::Version
79
69
  version: 1.0.0
80
- name: bundler
81
- version_requirements: *id004
82
- prerelease: false
83
- - !ruby/object:Gem::Dependency
84
70
  type: :development
85
- requirement: &id005 !ruby/object:Gem::Requirement
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
86
73
  none: false
87
- requirements:
74
+ requirements:
88
75
  - - ~>
89
- - !ruby/object:Gem::Version
90
- hash: 1
91
- segments:
92
- - 1
93
- - 5
94
- - 1
95
- version: 1.5.1
76
+ - !ruby/object:Gem::Version
77
+ version: 1.0.0
78
+ - !ruby/object:Gem::Dependency
96
79
  name: jeweler
97
- version_requirements: *id005
98
- prerelease: false
99
- - !ruby/object:Gem::Dependency
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: 1.5.1
100
86
  type: :development
101
- requirement: &id006 !ruby/object:Gem::Requirement
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
102
89
  none: false
103
- requirements:
104
- - - ">="
105
- - !ruby/object:Gem::Version
106
- hash: 3
107
- segments:
108
- - 0
109
- version: "0"
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: 1.5.1
94
+ - !ruby/object:Gem::Dependency
110
95
  name: rcov
111
- version_requirements: *id006
112
- prerelease: false
113
- - !ruby/object:Gem::Dependency
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
114
102
  type: :development
115
- requirement: &id007 !ruby/object:Gem::Requirement
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
116
105
  none: false
117
- requirements:
118
- - - ">="
119
- - !ruby/object:Gem::Version
120
- hash: 3
121
- segments:
122
- - 0
123
- version: "0"
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
124
111
  name: mocha
125
- version_requirements: *id007
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
126
119
  prerelease: false
127
- description: A minimal wrapper around the google calendar API, which uses nokogiri for fast parsing.
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ description: A minimal wrapper around the google calendar API, which uses nokogiri
127
+ for fast parsing.
128
128
  email: steve.zich@gmail.com
129
129
  executables: []
130
-
131
130
  extensions: []
132
-
133
- extra_rdoc_files:
131
+ extra_rdoc_files:
134
132
  - LICENSE.txt
135
133
  - README.rdoc
136
- files:
134
+ files:
137
135
  - .document
138
136
  - Gemfile
139
137
  - Gemfile.lock
@@ -157,40 +155,34 @@ files:
157
155
  - test/mocks/query_events.xml
158
156
  - test/mocks/successful_login.txt
159
157
  - test/test_google_calendar.rb
160
- has_rdoc: true
161
158
  homepage: http://github.com/northworld/google_calendar
162
- licenses:
159
+ licenses:
163
160
  - MIT
164
161
  post_install_message:
165
162
  rdoc_options: []
166
-
167
- require_paths:
163
+ require_paths:
168
164
  - lib
169
- required_ruby_version: !ruby/object:Gem::Requirement
165
+ required_ruby_version: !ruby/object:Gem::Requirement
170
166
  none: false
171
- requirements:
172
- - - ">="
173
- - !ruby/object:Gem::Version
174
- hash: 3
175
- segments:
167
+ requirements:
168
+ - - ! '>='
169
+ - !ruby/object:Gem::Version
170
+ version: '0'
171
+ segments:
176
172
  - 0
177
- version: "0"
178
- required_rubygems_version: !ruby/object:Gem::Requirement
173
+ hash: -762147376305803347
174
+ required_rubygems_version: !ruby/object:Gem::Requirement
179
175
  none: false
180
- requirements:
181
- - - ">="
182
- - !ruby/object:Gem::Version
183
- hash: 3
184
- segments:
185
- - 0
186
- version: "0"
176
+ requirements:
177
+ - - ! '>='
178
+ - !ruby/object:Gem::Version
179
+ version: '0'
187
180
  requirements: []
188
-
189
181
  rubyforge_project:
190
- rubygems_version: 1.6.2
182
+ rubygems_version: 1.8.24
191
183
  signing_key:
192
184
  specification_version: 3
193
185
  summary: A lightweight google calendar API wrapper
194
- test_files:
186
+ test_files:
195
187
  - test/helper.rb
196
188
  - test/test_google_calendar.rb