add_to_calendar 0.2.0 → 0.2.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/Gemfile.lock +3 -3
- data/add_to_calendar.gemspec +3 -3
- data/lib/add_to_calendar.rb +27 -19
- data/lib/add_to_calendar/version.rb +1 -1
- metadata +16 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 789ef2611f13b5cef3a81aa059cd0f414a5fe55ab741f875973e33d06519240a
|
4
|
+
data.tar.gz: 4f9158d43cc9eeb7ab470b2847df479a73e4f439245678f5f9153b7ac4c48353
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c4018b1bff230e0c5c280e2d06160cc3698f30641c436ce31dbb99f15bfe381748fad1cc42a3049c93941b245ca7df57149f5404c8fcd70f1290f9c8d56c43fa
|
7
|
+
data.tar.gz: f410a0121363a5a4cb506ff9abbeef6bdeeee99fb641d7b0099d8029139a2b212b64c2cacee44e43653e9019fc63212bf694bef9d1a5c8ae7fd814342ccb7453
|
data/Gemfile.lock
CHANGED
data/add_to_calendar.gemspec
CHANGED
@@ -8,7 +8,7 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.authors = ["Jared Turner"]
|
9
9
|
spec.email = ["jaredlt01@gmail.com"]
|
10
10
|
|
11
|
-
spec.summary = "Generate 'Add To Calendar' URLs for
|
11
|
+
spec.summary = "Generate 'Add To Calendar' URLs for Apple, Google, Office 365, Outlook, Outlook.com and Yahoo calendars"
|
12
12
|
# spec.description = %q{TODO: Write a longer description or delete this line.}
|
13
13
|
spec.homepage = "https://github.com/jaredlt/add_to_calendar"
|
14
14
|
spec.license = "MIT"
|
@@ -28,8 +28,8 @@ Gem::Specification.new do |spec|
|
|
28
28
|
|
29
29
|
spec.required_ruby_version = '>= 2.0'
|
30
30
|
|
31
|
-
spec.add_dependency "tzinfo", "
|
32
|
-
spec.add_dependency "tzinfo-data", "~> 1.2020
|
31
|
+
spec.add_dependency "tzinfo", ">= 1.1", "< 3"
|
32
|
+
spec.add_dependency "tzinfo-data", "~> 1.2020"
|
33
33
|
|
34
34
|
spec.add_development_dependency "bundler", "~> 2.0"
|
35
35
|
spec.add_development_dependency "rake", "~> 13.0.1"
|
data/lib/add_to_calendar.rb
CHANGED
@@ -118,7 +118,7 @@ module AddToCalendar
|
|
118
118
|
params[:LOCATION] = url_encode(location) if location
|
119
119
|
params[:UID] = "-#{url_encode(url)}" if url
|
120
120
|
params[:UID] = "-#{utc_datetime(start_datetime)}-#{url_encode(title)}" unless params[:UID] # set uid based on starttime and title only if url is unavailable
|
121
|
-
|
121
|
+
|
122
122
|
new_line = "%0A"
|
123
123
|
params.each do |key, value|
|
124
124
|
calendar_url << "#{new_line}#{key}=#{value}"
|
@@ -176,10 +176,10 @@ module AddToCalendar
|
|
176
176
|
else
|
177
177
|
params[:enddt] = utc_datetime_microsoft(start_datetime + 60*60) # 1 hour later
|
178
178
|
end
|
179
|
-
params[:body] = url_encode(description) if description
|
179
|
+
params[:body] = url_encode(newlines_to_html_br(description)) if description
|
180
180
|
if add_url_to_description && url
|
181
181
|
if params[:body]
|
182
|
-
params[:body] << url_encode("\n\n#{url}")
|
182
|
+
params[:body] << url_encode(newlines_to_html_br("\n\n#{url}"))
|
183
183
|
else
|
184
184
|
params[:body] = url_encode(url)
|
185
185
|
end
|
@@ -194,27 +194,31 @@ module AddToCalendar
|
|
194
194
|
end
|
195
195
|
|
196
196
|
def utc_datetime(datetime)
|
197
|
-
t = timezone.
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
197
|
+
t = timezone.local_to_utc(
|
198
|
+
Time.new(
|
199
|
+
datetime.strftime("%Y").to_i,
|
200
|
+
datetime.strftime("%m").to_i,
|
201
|
+
datetime.strftime("%d").to_i,
|
202
|
+
datetime.strftime("%H").to_i,
|
203
|
+
datetime.strftime("%M").to_i,
|
204
|
+
datetime.strftime("%S").to_i
|
205
|
+
)
|
206
|
+
)
|
205
207
|
|
206
208
|
return t.strftime('%Y%m%dT%H%M%SZ')
|
207
209
|
end
|
208
210
|
|
209
211
|
def utc_datetime_microsoft(datetime)
|
210
|
-
t = timezone.
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
212
|
+
t = timezone.local_to_utc(
|
213
|
+
Time.new(
|
214
|
+
datetime.strftime("%Y").to_i,
|
215
|
+
datetime.strftime("%m").to_i,
|
216
|
+
datetime.strftime("%d").to_i,
|
217
|
+
datetime.strftime("%H").to_i,
|
218
|
+
datetime.strftime("%M").to_i,
|
219
|
+
datetime.strftime("%S").to_i
|
220
|
+
)
|
221
|
+
)
|
218
222
|
|
219
223
|
return t.strftime('%Y-%m-%dT%H:%M:%SZ')
|
220
224
|
end
|
@@ -230,5 +234,9 @@ module AddToCalendar
|
|
230
234
|
def seconds_to_hours_minutes(sec)
|
231
235
|
"%02d%02d" % [sec / 3600, sec / 60 % 60]
|
232
236
|
end
|
237
|
+
|
238
|
+
def newlines_to_html_br(string)
|
239
|
+
string.gsub(/(?:\n\r?|\r\n?)/, '<br>')
|
240
|
+
end
|
233
241
|
end
|
234
242
|
end
|
metadata
CHANGED
@@ -1,43 +1,49 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: add_to_calendar
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jared Turner
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-06-
|
11
|
+
date: 2020-06-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: tzinfo
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.1'
|
20
|
+
- - "<"
|
18
21
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
22
|
+
version: '3'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - "
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.1'
|
30
|
+
- - "<"
|
25
31
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
32
|
+
version: '3'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: tzinfo-data
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
30
36
|
requirements:
|
31
37
|
- - "~>"
|
32
38
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.2020
|
39
|
+
version: '1.2020'
|
34
40
|
type: :runtime
|
35
41
|
prerelease: false
|
36
42
|
version_requirements: !ruby/object:Gem::Requirement
|
37
43
|
requirements:
|
38
44
|
- - "~>"
|
39
45
|
- !ruby/object:Gem::Version
|
40
|
-
version: 1.2020
|
46
|
+
version: '1.2020'
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
48
|
name: bundler
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -139,6 +145,6 @@ requirements: []
|
|
139
145
|
rubygems_version: 3.0.6
|
140
146
|
signing_key:
|
141
147
|
specification_version: 4
|
142
|
-
summary: Generate 'Add To Calendar' URLs for
|
143
|
-
calendars
|
148
|
+
summary: Generate 'Add To Calendar' URLs for Apple, Google, Office 365, Outlook, Outlook.com
|
149
|
+
and Yahoo calendars
|
144
150
|
test_files: []
|