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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b1fba2b9dfdd72ba02d3d29413d1035c6f726569610e18227802cfd85f11e7af
4
- data.tar.gz: ab89af6a02c276049dbbcac88fca397e37c3305084836a5e8467629064d414f2
3
+ metadata.gz: 789ef2611f13b5cef3a81aa059cd0f414a5fe55ab741f875973e33d06519240a
4
+ data.tar.gz: 4f9158d43cc9eeb7ab470b2847df479a73e4f439245678f5f9153b7ac4c48353
5
5
  SHA512:
6
- metadata.gz: ddc95426b93e001ea114f67b587b721ddea084d2f7607316181ee8c56e002a5c881ae10653d0a4ba9f4fdfee57c918f92e3d3320f54e4cbf9a9bf79faea59b8d
7
- data.tar.gz: 4b0015473216a8da08b990ee5e290e80e8e2b8b873971a2197c84da30aaa1489d6878a10c03ed5efbffa5f719148b60434ca99dbeee1eee6cdbd3fccdf3a3a03
6
+ metadata.gz: c4018b1bff230e0c5c280e2d06160cc3698f30641c436ce31dbb99f15bfe381748fad1cc42a3049c93941b245ca7df57149f5404c8fcd70f1290f9c8d56c43fa
7
+ data.tar.gz: f410a0121363a5a4cb506ff9abbeef6bdeeee99fb641d7b0099d8029139a2b212b64c2cacee44e43653e9019fc63212bf694bef9d1a5c8ae7fd814342ccb7453
@@ -1,9 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- add_to_calendar (0.2.0)
5
- tzinfo (~> 2.0.2)
6
- tzinfo-data (~> 1.2020.1)
4
+ add_to_calendar (0.2.1)
5
+ tzinfo (>= 1.1, < 3)
6
+ tzinfo-data (~> 1.2020)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
@@ -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 Google, Apple, Office 365, Outlook, Yahoo calendars"
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", "~> 2.0.2"
32
- spec.add_dependency "tzinfo-data", "~> 1.2020.1"
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"
@@ -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.local_time(
198
- datetime.strftime("%Y").to_i,
199
- datetime.strftime("%m").to_i,
200
- datetime.strftime("%d").to_i,
201
- datetime.strftime("%H").to_i,
202
- datetime.strftime("%M").to_i,
203
- datetime.strftime("%S").to_i
204
- ).utc
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.local_time(
211
- datetime.strftime("%Y").to_i,
212
- datetime.strftime("%m").to_i,
213
- datetime.strftime("%d").to_i,
214
- datetime.strftime("%H").to_i,
215
- datetime.strftime("%M").to_i,
216
- datetime.strftime("%S").to_i
217
- ).utc
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
@@ -1,3 +1,3 @@
1
1
  module AddToCalendar
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  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.0
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-08 00:00:00.000000000 Z
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: 2.0.2
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: 2.0.2
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.1
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.1
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 Google, Apple, Office 365, Outlook, Yahoo
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: []