vpim 13.11.11 → 24.2.20
Sign up to get free protection for your applications and to get access to all the features.
- 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
|