vpim 13.11.11 → 24.2.20
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 +5 -5
- data/bin/reminder +1 -1
- data/lib/vpim/enumerator.rb +1 -1
- data/lib/vpim/icalendar.rb +9 -2
- data/lib/vpim/property/recurrence.rb +1 -1
- data/lib/vpim/repo.rb +1 -1
- data/lib/vpim/vcard.rb +1 -1
- data/lib/vpim/version.rb +2 -2
- data/lib/vpim/vevent.rb +1 -1
- data/lib/vpim/view.rb +1 -1
- data/lib/vpim/vtodo.rb +46 -0
- data/samples/reminder.rb +1 -1
- data/test/test_ical.rb +11 -0
- metadata +15 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 2fb0cd0dc41928d4d5ed30930eae99edb6d10d8aa27e3a571995a6b96ced071c
|
4
|
+
data.tar.gz: ac1c8bd23664107fd69e2330e72ce23ff8e4591d2b73f5a7c0f6fb2a916b28b7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: deba874493893705140c3632a7f0b10f1406d7b0e5b4a0ac2bfa91c18a5adbd14e2843000027226f8b9144235ce7da20e7824ac254a8d3d3bf6f59ce405f7a42
|
7
|
+
data.tar.gz: d32542d5cc434c5ec6329d1698c58365e46656f449c38e6b2e27b2d3ee509fd5d61a27c5543ce6726fca40399f65d892f7a9178ddafedb778bf960c6d0b5eadf
|
data/bin/reminder
CHANGED
data/lib/vpim/enumerator.rb
CHANGED
data/lib/vpim/icalendar.rb
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
details.
|
8
8
|
=end
|
9
9
|
|
10
|
-
require "enumerator"
|
10
|
+
require "vpim/enumerator"
|
11
11
|
|
12
12
|
require 'vpim/rfc2425'
|
13
13
|
require 'vpim/dirinfo'
|
@@ -101,7 +101,14 @@ module Vpim
|
|
101
101
|
push Vevent::Maker.make( &block )
|
102
102
|
end
|
103
103
|
|
104
|
-
# TODO
|
104
|
+
# TODO add_journal
|
105
|
+
|
106
|
+
# Add a task/todo to this calendar.
|
107
|
+
#
|
108
|
+
# Yields a todo maker, Icalendar::Vtodo::Maker.
|
109
|
+
def add_todo(&block) #:yield:todo
|
110
|
+
push Vtodo::Maker.make( &block )
|
111
|
+
end
|
105
112
|
|
106
113
|
=begin
|
107
114
|
TODO
|
data/lib/vpim/repo.rb
CHANGED
data/lib/vpim/vcard.rb
CHANGED
@@ -153,7 +153,7 @@ module Vpim
|
|
153
153
|
def Address.decode(card, field) #:nodoc:
|
154
154
|
adr = new
|
155
155
|
|
156
|
-
parts = Vpim.decode_text_list(field.
|
156
|
+
parts = Vpim.decode_text_list(field.value, ';')
|
157
157
|
|
158
158
|
@@adr_parts.each_with_index do |part,i|
|
159
159
|
adr.instance_variable_set(part, parts[i] || '')
|
data/lib/vpim/version.rb
CHANGED
data/lib/vpim/vevent.rb
CHANGED
@@ -164,7 +164,7 @@ module Vpim
|
|
164
164
|
set_date_or_datetime 'DTEND', 'DATE-TIME', dtend
|
165
165
|
end
|
166
166
|
|
167
|
-
# Add a RRULE to this event. The rule can be provided as a pre-
|
167
|
+
# Add a RRULE to this event. The rule can be provided as a pre-built
|
168
168
|
# RRULE value, or the RRULE maker can be used.
|
169
169
|
def add_rrule(rule = nil, &block) #:yield: Rrule::Maker
|
170
170
|
# TODO - should be in Property::Reccurrence::Set
|
data/lib/vpim/view.rb
CHANGED
data/lib/vpim/vtodo.rb
CHANGED
@@ -97,6 +97,52 @@ module Vpim
|
|
97
97
|
propinteger 'PERCENT-COMPLETE'
|
98
98
|
end
|
99
99
|
|
100
|
+
# Make a new Vtodo, or make changes to an existing Vtodo.
|
101
|
+
class Maker
|
102
|
+
include Vpim::Icalendar::Set::Util #:nodoc:
|
103
|
+
include Vpim::Icalendar::Set::Common
|
104
|
+
include Vpim::Icalendar::Set::Location
|
105
|
+
|
106
|
+
# The todo that changes are being made to.
|
107
|
+
attr_reader :todo
|
108
|
+
|
109
|
+
def initialize(todo) #:nodoc:
|
110
|
+
@todo = todo
|
111
|
+
@comp = todo
|
112
|
+
end
|
113
|
+
|
114
|
+
# Make changes to +todo+. If +todo+ is not specified, creates a new
|
115
|
+
# todo. Yields a Vtodo::Maker, and returns +todo+.
|
116
|
+
def self.make(todo = Vpim::Icalendar::Vtodo.create) #:yield:maker
|
117
|
+
m = self.new(todo)
|
118
|
+
yield m
|
119
|
+
m.todo
|
120
|
+
end
|
121
|
+
|
122
|
+
# Set transparency to "OPAQUE" or "TRANSPARENT", see Vpim::Vtodo#transparency.
|
123
|
+
def transparency(token)
|
124
|
+
set_token 'TRANSP', ["OPAQUE", "TRANSPARENT"], "OPAQUE", token
|
125
|
+
end
|
126
|
+
|
127
|
+
# Add a RRULE to this todo. The rule can be provided as a pre-built
|
128
|
+
# RRULE value, or the RRULE maker can be used.
|
129
|
+
def add_rrule(rule = nil, &block) #:yield: Rrule::Maker
|
130
|
+
# TODO - should be in Property::Reccurrence::Set
|
131
|
+
unless rule
|
132
|
+
rule = Rrule::Maker.new(&block).encode
|
133
|
+
end
|
134
|
+
@comp.properties.push(Vpim::DirectoryInfo::Field.create("RRULE", rule))
|
135
|
+
self
|
136
|
+
end
|
137
|
+
|
138
|
+
# Set the RRULE for this todo. See #add_rrule
|
139
|
+
def set_rrule(rule = nil, &block) #:yield: Rrule::Maker
|
140
|
+
rm_all("RRULE")
|
141
|
+
add_rrule(rule, &block)
|
142
|
+
end
|
143
|
+
|
144
|
+
end
|
145
|
+
|
100
146
|
end
|
101
147
|
|
102
148
|
end
|
data/samples/reminder.rb
CHANGED
data/test/test_ical.rb
CHANGED
@@ -443,5 +443,16 @@ __
|
|
443
443
|
assert_match(/RRULE:FREQ=DAILY/, vc.to_s)
|
444
444
|
end
|
445
445
|
|
446
|
+
def test_todo_maker_w_rrule
|
447
|
+
vc = Icalendar.create2 do |vc|
|
448
|
+
vc.add_todo do |m|
|
449
|
+
m.add_rrule("freq=monthly")
|
450
|
+
m.set_rrule do |_| _.frequency = "daily" end
|
451
|
+
end
|
452
|
+
end
|
453
|
+
assert_no_match(/RRULE:FREQ=MONTHLY/, vc.to_s)
|
454
|
+
assert_match(/RRULE:FREQ=DAILY/, vc.to_s)
|
455
|
+
end
|
456
|
+
|
446
457
|
end
|
447
458
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vpim
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 24.2.20
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sam Roberts
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-02-21 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: |
|
14
14
|
This is a pure-ruby library for decoding and encoding vCard and iCalendar data
|
@@ -24,6 +24,12 @@ extra_rdoc_files:
|
|
24
24
|
- COPYING
|
25
25
|
- samples/README.mutt
|
26
26
|
files:
|
27
|
+
- CHANGES
|
28
|
+
- COPYING
|
29
|
+
- README.rdoc
|
30
|
+
- bin/reminder
|
31
|
+
- bin/rrule
|
32
|
+
- lib/vpim.rb
|
27
33
|
- lib/vpim/address.rb
|
28
34
|
- lib/vpim/agent/atomize.rb
|
29
35
|
- lib/vpim/agent/base.rb
|
@@ -55,9 +61,6 @@ files:
|
|
55
61
|
- lib/vpim/vjournal.rb
|
56
62
|
- lib/vpim/vpim.rb
|
57
63
|
- lib/vpim/vtodo.rb
|
58
|
-
- lib/vpim.rb
|
59
|
-
- bin/reminder
|
60
|
-
- bin/rrule
|
61
64
|
- samples/README.mutt
|
62
65
|
- samples/ab-query.rb
|
63
66
|
- samples/agent.ru
|
@@ -87,9 +90,6 @@ files:
|
|
87
90
|
- test/test_repo.rb
|
88
91
|
- test/test_rrule.rb
|
89
92
|
- test/test_vcard.rb
|
90
|
-
- COPYING
|
91
|
-
- README.rdoc
|
92
|
-
- CHANGES
|
93
93
|
homepage: http://vpim.rubyforge.org
|
94
94
|
licenses: []
|
95
95
|
metadata: {}
|
@@ -99,27 +99,26 @@ require_paths:
|
|
99
99
|
- lib
|
100
100
|
required_ruby_version: !ruby/object:Gem::Requirement
|
101
101
|
requirements:
|
102
|
-
- -
|
102
|
+
- - ">="
|
103
103
|
- !ruby/object:Gem::Version
|
104
104
|
version: '0'
|
105
105
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
106
106
|
requirements:
|
107
|
-
- -
|
107
|
+
- - ">="
|
108
108
|
- !ruby/object:Gem::Version
|
109
109
|
version: '0'
|
110
110
|
requirements: []
|
111
|
-
|
112
|
-
rubygems_version: 2.0.3
|
111
|
+
rubygems_version: 3.0.3
|
113
112
|
signing_key:
|
114
113
|
specification_version: 4
|
115
114
|
summary: iCalendar and vCard support for ruby
|
116
115
|
test_files:
|
117
|
-
- test/test_all.rb
|
118
116
|
- test/test_date.rb
|
119
117
|
- test/test_dur.rb
|
120
118
|
- test/test_field.rb
|
121
|
-
- test/test_ical.rb
|
122
|
-
- test/test_misc.rb
|
123
119
|
- test/test_repo.rb
|
124
|
-
- test/test_rrule.rb
|
125
120
|
- test/test_vcard.rb
|
121
|
+
- test/test_misc.rb
|
122
|
+
- test/test_all.rb
|
123
|
+
- test/test_ical.rb
|
124
|
+
- test/test_rrule.rb
|