Skip to content

Commit 6d91c8d

Browse files
committed
import
1 parent b512c15 commit 6d91c8d

File tree

150 files changed

+72814
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

150 files changed

+72814
-0
lines changed

.cvsignore

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
.*
2+
*.ics
3+
*.tgz
4+
*.vcf
5+
tags.*
6+
tags
7+
.DS_Store
8+
_*
9+
doc
10+
vcard-0.?*
11+
cards
12+
changes.cvs
13+
rr
14+
ChangeLog
15+
rss
16+
nohup.out

CHANGES

Lines changed: 262 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,262 @@
1+
0.15 - ...
2+
3+
- maker/vcard.rb: Added support for X-AIM, an Apple extension.
4+
5+
0.14 - 2005-02-01
6+
7+
- Fix: if an RRULE didn't ever yield an event (a bug in the rule) dountil was never tested.
8+
9+
- Change: don't throw an ArgumentError with infinite events, just stop when the
10+
Time is no longer representable
11+
12+
0.13 - 2005-01-20
13+
14+
- Was calling to_time with an arg, fixed.
15+
16+
0.12 - 2005-01-17
17+
18+
- Removed require of pp from the library and utilities where it wasn't needed,
19+
it was causing problems because it doesn't exist on ruby 1.6 systems.
20+
21+
- Added Field#to_date, returns field value as an array of Date objects
22+
23+
- Changed Field#to_time - it now auto-detects format of values
24+
(DATE/DATE-TIME), and doesn't take/require a default_kind argument.
25+
26+
- Added IMPP support to Vpim::Maker::Vcard.
27+
28+
- Makefile wasn't copying the Maker classes into the release.
29+
30+
- Duration value not returned unless it was negative, fixed.
31+
32+
- An RRULE's UNTIL was always being assumed to be a DATE-TIME, but it can be a
33+
DATE. I fixed this, but is something of a hack, see comments and TODO.
34+
35+
- Use String#scan instead of String#gsub, when appropriate (I didn't know it
36+
existed when I stated the project).
37+
38+
- Run tests on 3 ruby versions.
39+
40+
- Don't include docs in release package, it makes it way too large.
41+
42+
- Change: use String.unpack instead of iconv to convert UCS-2 to UTF-8,
43+
removing dependency on iconv (it wasn't standard in ruby 1.6).
44+
45+
- Change: simplified mutt_ab_query.rb, and renamed to vcf-to-mutt.
46+
47+
- Change: reminder.rb sorts todo items by priority.
48+
49+
- New: Vtodo#priority - the priority of the vTodo component.
50+
51+
0.11 - 2004-11-17
52+
53+
- Added a Vpim::Maker::Vcard class to simplify the creation of vCards, modelled
54+
after the RSS maker from ruby's RSS library.
55+
56+
0.10 - 2004-11-07
57+
58+
- If events don't have a recurrence rule, they occur once, but they
59+
were being returned even if they occurred after "dountil". Fixed.
60+
61+
- New sample of converting tab-delimited files to a vcard file, from
62+
Dane G. Avilla. Thanks!
63+
64+
0.9a - 2004-10-31
65+
66+
- Made sure all events occur once in rrules.
67+
68+
- New sample of encoding: mutt-aliases-vcard.rb
69+
70+
- Added ToDo support to reminder.rb.
71+
72+
0.9 - 2004-06-17
73+
74+
- Field now is mutable, you can change the group, value, params, etc.
75+
76+
- Using the Enumerator object for DirectoryInfo now, instead of all the
77+
each_by_X, and field_by_X() APIs.
78+
79+
- Moved homepage and docs to Ruby Forge.
80+
81+
- DirectoryInfo.create: added a profile argument
82+
83+
- DirectoryInfo#push: now pushes to 1 before the end
84+
85+
- DirectoryInfo#push_end: pushes onto end, in case you really want to
86+
87+
- Field.create: a Date or Time object value will now be encoded as date or time
88+
89+
- Vpim.encode_date(): encodes an RFC2425 date
90+
91+
- Vpim.encode_time(): encodes an RFC2425 time
92+
93+
- Vpim.encode_date_time(): encodes an RFC2425 date-time
94+
95+
- Icalendar#encode(): encodes an Icalendar
96+
97+
- Icalendar#push(): pushes a calendar component onto a calendar
98+
99+
- Vevent#accept(): accepts an event invitation
100+
101+
- Vevent#create(): creates a new event
102+
103+
- Address#copy(): create a copy of Address. If the original Address was frozen,
104+
this one won't be.
105+
106+
- Address#partstat=(): set or change the PARTSTAT.
107+
108+
- Field#copy(): create a copy of Field. If the original Field was frozen, this
109+
one won't be.
110+
111+
0.8 - 2004-04-01
112+
113+
- Moved DirectoryInfo::Field into it's own file, vpim/field.rb.
114+
115+
- New: Vpim::Duration - crude way of getting days/hours/mins/secs from a
116+
duration in seconds.
117+
118+
- New: Icalendar#create() and Icalendar#create_reply()
119+
120+
- New: Icalendar#encode(), #to_s is an alias to #encode.
121+
122+
- New: Icalendar#protocol?()
123+
124+
- Change: Icalendar#version() raises an error if there is no VERSION
125+
126+
- Change: made all the DirectoryInfo, Vcard, and Field .new() class methods
127+
private, and replaced with the 2 class methods:
128+
129+
- decode() decodes a string, returning a ruby object
130+
- create() creates a new object
131+
132+
and all objects now get encoded using:
133+
134+
- encode() takes a ruby object, and encodes it as a string
135+
136+
They become more symetrical, and the overloaded meanings of .new() dissappear -
137+
with .new() are you decoding, encoding, creating...?
138+
139+
- Change: Icalendar::Vevent#attendees() can return only attendees
140+
with a particular URI.
141+
142+
- New: Icalendar::Address#==()
143+
144+
- New: Icalendar::Vevent#attendee?()
145+
146+
- Fixed bug: Field#encode() was adding an unexpecte NL to the line.
147+
148+
- Change: Field#name?() can accept a symbol.
149+
150+
- New: DirectoryInfo has an #each(), so I included Enumerable. Because of this
151+
#to_a() now returns all the Fields in a DirectoryInfo.
152+
153+
- New: DirectoryInfo#push() and DirectoryInfo@push_uniq().
154+
155+
- Change: DirectoryInfo#<<() is now an alias for DirectoryInfo#push()
156+
157+
- Change: DirectoryInfo#each() and DirectoryInfo#each_by() now return self
158+
instead of nil, I think this is more rubyish.
159+
160+
- New: Date#to_time() - converts a Date, and maybe a DateTime, to a Time
161+
162+
- New: Icalendar#protocol()
163+
164+
- New: Icalendar::Address
165+
166+
- New: Icalendar::Vevent#organizer()/attendees(), which return an
167+
Icalendar::Address
168+
169+
- New: An array of all the values of fields named name, converted to text,
170+
using Field.to_text().
171+
172+
173+
0.7 - 2004-03-21
174+
175+
- Bug fixes, not all files were requiring vpim.rb, which had the definition of
176+
the invalid encoding error.
177+
178+
- Implemented much requested feature: ignore empty lines in input. This is an
179+
invalid encoding, but I'm tired of fighting it.
180+
181+
182+
0.6 - 2004-03-20
183+
184+
WARNING: major API renamings!
185+
186+
- Replaced the Vpim::Errors::*Error exception classes with a single exception
187+
class: Vpim::InvalidEncodingError. That, and a message, is all I really need.
188+
I don't think people need different classes for different types of encoding
189+
errors, either the library can decode it for them, or it can't.
190+
191+
- Renamed project to "vpim" (to reflect vCard and vCalendar/iCalendar support),
192+
renamed top-level Rfc2425 module to Vpim, split vard.rb into multiple files.
193+
194+
- Add support for iCalendar (RFC2445), see vpim/icalendar.rb. Currently only
195+
supports VEVENT, no VTODO or VALARM yet, but is useable to print my upcoming
196+
iCal events.
197+
198+
- Implemented the iCalendar recurrence rules mini-language, which is possibly
199+
of more general use than just for iCalendar.
200+
201+
- Fixed bug in time decoding where usec would be nil instead of zero when no
202+
usec were present in the time value.
203+
204+
- Field#to_time now assumes that time is in local time, unless the timezone is
205+
"Z", meaning UTC.
206+
207+
- Field#to_text - new method, unescapes newlines, commas, and escape
208+
characters.
209+
210+
- Field#field(name) - new method, returns the first field named +name+.
211+
212+
213+
0.5 - 3003-11-23
214+
215+
- ab-query.rb - short option for --me was mistyped as -v, instead of -m.
216+
217+
- mutt_ab_query.rb - added a --pipe option, so that the output of an other
218+
script can be directly queried.
219+
220+
- New method: Rfc2425.version
221+
222+
- Decode vCard 2.1 abbreviated parameters (ones where the name of the parameter
223+
is missing, only the value is present, which only works for type and encoding).
224+
225+
- Vcard.decode() now support UCS-2 encoded vCards, by translating anything that
226+
looks like UCS-2 to UTF-8 before decoding.
227+
228+
0.4 - 2003-04-14
229+
230+
- More support for decoding date, time, and date-time values.
231+
232+
- New method Field#to_time().
233+
234+
- Can pass an IO object to decode APIs, its entire contents is read as a
235+
string.
236+
237+
- Field#group?() now considers nil as equivalent to no group, so you can use
238+
each_group(nil) to iterate through all fields without a group.
239+
240+
0.3 -
241+
242+
- Added description of how to use mutt_ab_query.rb
243+
244+
- Added support for querying the kind of a value, and began support for
245+
decoding date and time values.
246+
247+
0.2 -
248+
249+
- Supports encoding.
250+
251+
- Supports accessing values using [].
252+
253+
- No longer have methods return an Array, or nil if the array is zero length, I
254+
just return an Array.
255+
256+
- mutt_ab_query.rb - an example of using vcard.rb to do lookups in the OS X
257+
Address Book from Mutt
258+
259+
0.1 -
260+
261+
- First release.
262+

COPYING

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
vPim is copyrighted free software by Sam Roberts <[email protected]>.
2+
3+
You can redistribute it and/or modify it under either the terms of the GPL (see
4+
the file GPL), or the conditions below:
5+
6+
1. You may make and give away verbatim copies of the source form of the
7+
software without restriction, provided that you duplicate all of the
8+
original copyright notices and associated disclaimers.
9+
10+
2. You may modify your copy of the software in any way, provided that
11+
you do at least ONE of the following:
12+
13+
a) place your modifications in the Public Domain or otherwise make them
14+
Freely Available, such as by posting said modifications to Usenet or an
15+
equivalent medium, or by allowing the author to include your
16+
modifications in the software.
17+
18+
b) use the modified software only within your corporation or
19+
organization.
20+
21+
c) give non-standard binaries non-standard names, with instructions on
22+
where to get the original software distribution.
23+
24+
d) make other distribution arrangements with the author.
25+
26+
3. You may distribute the software in object code or binary form,
27+
provided that you do at least ONE of the following:
28+
29+
a) distribute the binaries and library files of the software, together
30+
with instructions (in the manual page or equivalent) on where to get the
31+
original distribution.
32+
33+
b) accompany the distribution with the machine-readable source of the
34+
software.
35+
36+
c) give non-standard binaries non-standard names, with instructions on
37+
where to get the original software distribution.
38+
39+
d) make other distribution arrangements with the author.
40+
41+
4. You may modify and include the part of the software into any other
42+
software (possibly commercial). But some files in the distribution
43+
are not written by the author, so that they are not under these terms.
44+
45+
For the list of those files and their copying conditions, see the
46+
file LEGAL.
47+
48+
5. The scripts and library files supplied as input to or produced as
49+
output from the software do not automatically fall under the
50+
copyright of the software, but belong to whomever generated them,
51+
and may be sold commercially, and may be aggregated with this
52+
software.
53+
54+
6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
55+
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
56+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
57+
PURPOSE.
58+

0 commit comments

Comments
 (0)