runt 0.3.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES CHANGED
@@ -1,71 +1,107 @@
1
- = Runt Changelog
2
-
3
- == Version 0.3.0
4
-
5
- * TExpr (finally!) becomes a Module instead of a superclass
6
-
7
- * Added overlap? method for all temporal expressions and DateRange
8
-
9
- * Added REMonth expression which matches a range of dates each month
10
-
11
- * Contributed by Emmett Shear: TExpr#dates method which returns an array of dates occurring within the supplied DateRange
12
-
13
- * Rakefile fixes:
14
- - test path allow gem to be installed with -t switch
15
- - usage of gzip which will break on Win32
16
-
17
- * Removed and then subsequently restored SpecTE
18
-
19
- * General clean-up, including:
20
- - renamed several methods on PDate
21
- - renamed 'dateprecisiontest.rb' to 'dprecisiontest.rb'
22
-
23
- * Fixed Object.id deprecation warning
24
-
25
-
26
- == Version 0.2.0
27
-
28
- * Fixed Schedule class
29
- * Renamed Schedule#is_occurring? to Schedule#include?
30
- * RAA deployment
31
- * GEM deployment
32
- * Renamed file dateprecisiontest.rb to dprecisiontest.rb
33
- * Renamed several methods on PDate:
34
- - second -> sec
35
- - minute -> min
36
- - hour_of_day -> hour
37
- - day_of_month -> day
38
-
39
- == Version 0.1.0
40
-
41
- * Inspired by suggestions[http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/95465] on c.l.r., did massive renaming and refactoring to make source more Ruby-esque:
42
-
43
- - TemporalExpression class => TExpr
44
- - DatePrecision module => DPrecision (file name changed also)
45
- - TimePoint class => PDate (file name changed also)
46
- - Added transparent use of bitwise set operators ( & , | ) for building composite expressions
47
- - Added transparent use of - operator for diff expressions
48
-
49
- * Updated TE Tutorial to reflect new and improved syntax usage
50
- * Skipped several version numbers to celebrate
51
-
52
- == Version 0.0.6
53
-
54
- * TE Tutorial
55
- * Website beautification
56
- * Credits
57
-
58
- == Version 0.0.4
59
-
60
- * Improved Rake[http://rake.rubyforge.org] support
61
- * Better documentation: README, TODO, CHANGES, etc.
62
- * More Ruby-like source code layout and code organization inspired by Rake[http://rake.rubyforge.org] distribution
63
- * Dropped the obviously superfluous 'alpha' from versioning
64
-
65
- == Version 0.0.1
66
-
67
- * Learned Ruby (or began trying, at any rate...)
68
- * RubyForge project setup
69
- * Basic implementation of the Java-based chronicJ[http://chronicJ.org] functionality in Ruby
70
-
71
-
1
+ = Runt Changelog
2
+
3
+ == Version 0.5.0
4
+
5
+ * Refactored Schedule implementation which greatly simplifies customization but does potentially break existing clients who relied on the ability to call add mulitple times (SEE BELOW)
6
+
7
+ * Added update method to Schedule allowing clients to update existing expressions
8
+
9
+ * Added select method to Schedule allowing clients to query Events using arbitrary criteria
10
+
11
+ * Added events method to Schedule which returns an Array of the currrently held Events
12
+
13
+ * Added time-related shortcuts to Runt module contributed by Ara T. Howard
14
+
15
+ * Added ability to work with Time class contributed by Paul Wright
16
+
17
+ * Implemented meaningful to_s methods for TExpr classes
18
+
19
+ * Added include? method to Standard Library Date class allowing Spec class better interaction with other expressions
20
+
21
+ * Applied patch to fix PDate serialization bug contributed by Jodi Showers
22
+
23
+ * Added BeforeTE, AfterTE, enhanced TExpr#dates method, RFC2445 (iCalendar) compliance unit test, contributed by Larry Karnowski
24
+
25
+ * Applied patch by Gordon Thiesfeld which fixes broken Time class compatibility
26
+
27
+ * Applied patch by Gordon Thiesfeld which allows REWeek expressions to span across two weeks
28
+
29
+ * Removed unused context.rb and contexttest.rb
30
+
31
+ * Removed unnecessary test suite alltests.rb
32
+
33
+ == Version 0.4.0
34
+
35
+ * Added DayIntervalTE contributed by Ira Burton which matches every n days past a given date
36
+
37
+ * Added YearTE requested by Pat Maddox
38
+
39
+ == Version 0.3.0
40
+
41
+ * TExpr (finally!) becomes a Module instead of a superclass
42
+
43
+ * Added overlap? method for all temporal expressions and DateRange
44
+
45
+ * Added REMonth expression which matches a range of dates each month
46
+
47
+ * Contributed by Emmett Shear: TExpr#dates method which returns an array of dates occurring within the supplied DateRange
48
+
49
+ * Rakefile fixes:
50
+ - test path allow gem to be installed with -t switch
51
+ - usage of gzip which will break on Win32
52
+
53
+ * Removed and then subsequently restored SpecTE
54
+
55
+ * General clean-up, including:
56
+ - renamed several methods on PDate
57
+ - renamed 'dateprecisiontest.rb' to 'dprecisiontest.rb'
58
+
59
+ * Fixed Object.id deprecation warning
60
+
61
+
62
+ == Version 0.2.0
63
+
64
+ * Fixed Schedule class
65
+ * Renamed Schedule#is_occurring? to Schedule#include?
66
+ * RAA deployment
67
+ * GEM deployment
68
+ * Renamed file dateprecisiontest.rb to dprecisiontest.rb
69
+ * Renamed several methods on PDate:
70
+ - second -> sec
71
+ - minute -> min
72
+ - hour_of_day -> hour
73
+ - day_of_month -> day
74
+
75
+ == Version 0.1.0
76
+
77
+ * Inspired by suggestions[http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/95465] on c.l.r., did massive renaming and refactoring to make source more Ruby-esque:
78
+
79
+ - TemporalExpression class => TExpr
80
+ - DatePrecision module => DPrecision (file name changed also)
81
+ - TimePoint class => PDate (file name changed also)
82
+ - Added transparent use of bitwise set operators ( & , | ) for building composite expressions
83
+ - Added transparent use of - operator for diff expressions
84
+
85
+ * Updated TE Tutorial to reflect new and improved syntax usage
86
+ * Skipped several version numbers to celebrate
87
+
88
+ == Version 0.0.6
89
+
90
+ * TE Tutorial
91
+ * Website beautification
92
+ * Credits
93
+
94
+ == Version 0.0.4
95
+
96
+ * Improved Rake[http://rake.rubyforge.org] support
97
+ * Better documentation: README, TODO, CHANGES, etc.
98
+ * More Ruby-like source code layout and code organization inspired by Rake[http://rake.rubyforge.org] distribution
99
+ * Dropped the obviously superfluous 'alpha' from versioning
100
+
101
+ == Version 0.0.1
102
+
103
+ * Learned Ruby (or began trying, at any rate...)
104
+ * RubyForge project setup
105
+ * Basic implementation of the Java-based chronicJ[http://chronicJ.org] functionality in Ruby
106
+
107
+
@@ -1,44 +1,44 @@
1
- The Apache Software License, Version 1.1
2
-
3
- Copyright (c) 2003-2004 Digital Clash LLC. All rights
4
- reserved.
5
-
6
- Redistribution and use in source and binary forms, with or without
7
- modification, are permitted provided that the following conditions
8
- are met:
9
-
10
- 1. Redistributions of source code must retain the above copyright
11
- notice, this list of conditions and the following disclaimer.
12
-
13
- 2. Redistributions in binary form must reproduce the above copyright
14
- notice, this list of conditions and the following disclaimer in
15
- the documentation and/or other materials provided with the
16
- distribution.
17
-
18
- 3. The end-user documentation included with the redistribution,
19
- if any, must include the following acknowledgment:
20
- "This product includes software developed by the
21
- Runt team (http://runt.rubyforge.org/)."
22
- Alternately, this acknowledgment may appear in the software itself,
23
- if and wherever such third-party acknowledgments normally appear.
24
-
25
- 4. The names "Runt" and "Digital Clash" not be used to endorse or
26
- promote products derived from this software without prior written
27
- permission. For written permission, please contact
28
- info@digitalclash.com.
29
-
30
- 5. Products derived from this software may not be called "Runt",
31
- "Digital Clash", nor may "Runt" or "Digital Clash" appear in
32
- their name, without prior written permission of Digital Clash LLC.
33
-
34
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
35
- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
36
- OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
37
- DISCLAIMED. IN NO EVENT SHALL DIGITAL CLASH LLC OR ITS CONTRIBUTORS
38
- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
39
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
40
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
41
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
42
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
43
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1
+ The Apache Software License, Version 1.1
2
+
3
+ Copyright (c) 2003-2004 Digital Clash LLC. All rights
4
+ reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions
8
+ are met:
9
+
10
+ 1. Redistributions of source code must retain the above copyright
11
+ notice, this list of conditions and the following disclaimer.
12
+
13
+ 2. Redistributions in binary form must reproduce the above copyright
14
+ notice, this list of conditions and the following disclaimer in
15
+ the documentation and/or other materials provided with the
16
+ distribution.
17
+
18
+ 3. The end-user documentation included with the redistribution,
19
+ if any, must include the following acknowledgment:
20
+ "This product includes software developed by the
21
+ Runt team (http://runt.rubyforge.org/)."
22
+ Alternately, this acknowledgment may appear in the software itself,
23
+ if and wherever such third-party acknowledgments normally appear.
24
+
25
+ 4. The names "Runt" and "Digital Clash" not be used to endorse or
26
+ promote products derived from this software without prior written
27
+ permission. For written permission, please contact
28
+ info@digitalclash.com.
29
+
30
+ 5. Products derived from this software may not be called "Runt",
31
+ "Digital Clash", nor may "Runt" or "Digital Clash" appear in
32
+ their name, without prior written permission of Digital Clash LLC.
33
+
34
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
35
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
36
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
37
+ DISCLAIMED. IN NO EVENT SHALL DIGITAL CLASH LLC OR ITS CONTRIBUTORS
38
+ BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
39
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
40
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
41
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
42
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
43
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
44
44
  THE POSSIBILITY OF SUCH DAMAGE.
data/README CHANGED
@@ -1,94 +1,100 @@
1
- = RUNT -- Ruby Temporal Expressions
2
-
3
- * Runt is a Ruby[http://www.ruby-lang.org/en/] implementation of select Martin Fowler patterns[http://www.martinfowler.com/articles].
4
-
5
- * <em>TemporalExpression</em>s allow a developer to define patterns of date recurrence using set expressions.
6
-
7
- ---
8
-
9
- = INSTALL
10
-
11
- * gem install runt
12
-
13
- <b>or</b>
14
-
15
- * Unpack the Runt distribution.
16
-
17
- $ tar -xzvf runt-<version>.tar.gz
18
-
19
- * cd $UNPACK_DIR/runt/
20
-
21
- * execute:
22
-
23
- $ ruby setup.rb config
24
- $ ruby setup.rb setup
25
- $ ruby setup.rb install (may require root privilege)
26
-
27
- <b>or</b>
28
-
29
- $ ruby setup.rb --help
30
-
31
- for more options.
32
-
33
- ---
34
-
35
- = QUICK START
36
-
37
- * require 'runt'
38
-
39
- * See Runt website[http://runt.rubyforge.org].
40
-
41
- * See $UNPACK_DIR/runt/test/*.rb for example usage.
42
-
43
- * See this mini-TemporalExpression tutorial[http://runt.rubyforge.org/doc/files/doc/tutorial_te_rdoc.html]
44
-
45
- * See http://www.chronicj.org/apidocs/index.html for better commented source (JavaDoc)
46
-
47
- Get in touch if you have questions or if Runt causes your computer to burst into flames...
48
-
49
- Matt[mailto:matt@digitalclash.com]
50
-
51
- ---
52
-
53
- == Credits
54
-
55
- Rubyforge[http://rubyforge.org] for hosting this project.
56
-
57
- M.Fowler[http://martinfowler.com], Matz[http://ruby-lang.org],
58
- T.Funaba (Date/DateTime[http://www.funaba.org/en/ruby.html]),
59
- J.Weirich (Rake[http://rake.rubyforge.org]),
60
- PragmaticProgrammers[http://pragmaticprogrammer.com], and everyone on
61
- ruby-talk[mailto:ruby-talk@ruby-lang.org] for their shameless public display
62
- of smartness.
63
-
64
- Hal Fulton, Mauricio Fernandez, and Mark Hubbart for the
65
- thread[http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/95465] on c.l.r.
66
- that inspired a more Ruby-esque syntax for creating TE's. 2X Thanks to Hal, for
67
- taking the time to exchange ideas off-line.
68
-
69
- The ruby-nyc user's group for their suggestions and feedback.
70
-
71
- BlueRobot[http://www.bluerobot.com/web/layouts/] for the CSS used to prettify the Runt website.
72
-
73
- Emmett Shear for contributed TExpr#dates code and several thought-provoking feature requests.
74
-
75
- The number 12, and the letters E, J, and B.
76
-
77
- ---
78
-
79
- = Etc...
80
-
81
- Author:: Matthew Lipper <matt@digitalclash.com>
82
- Requires:: Ruby 1.8.0 or later, Date/DateTime classes
83
- License:: Copyright 2004 by Digital Clash LLC.
84
- Released under the Apache Software license (see LICENSE.txt)
85
- included in the distribution.
86
-
87
- = Warranty
88
-
89
- This software is provided "as is" and without any express or
90
- implied warranties, including, without limitation, the implied
91
- warranties of merchantibility and fitness for a particular
92
- purpose.
93
-
94
- link://../dcl-small.gif
1
+ = RUNT -- Ruby Temporal Expressions
2
+
3
+ * Runt is a Ruby[http://www.ruby-lang.org/en/] implementation of select Martin Fowler patterns[http://www.martinfowler.com/articles].
4
+
5
+ * <em>TemporalExpression</em>s allow a developer to define patterns of date recurrence using set expressions.
6
+
7
+ = INSTALL
8
+
9
+ * gem install runt
10
+
11
+ <b>or</b>
12
+
13
+ * Unpack the Runt distribution.
14
+
15
+ $ tar -xzvf runt-<version>.tar.gz
16
+
17
+ * cd $UNPACK_DIR/runt/
18
+
19
+ * execute:
20
+
21
+ $ ruby setup.rb config
22
+ $ ruby setup.rb setup
23
+ $ ruby setup.rb install (may require root privilege)
24
+
25
+ <b>or</b>
26
+
27
+ $ ruby setup.rb --help
28
+
29
+ for more options.
30
+
31
+ = QUICK START
32
+
33
+ * require 'runt'
34
+
35
+ * See Runt website[http://runt.rubyforge.org].
36
+
37
+ * See $UNPACK_DIR/runt/test/*.rb for example usage.
38
+
39
+ * See this mini-TemporalExpression tutorial[http://runt.rubyforge.org/doc/files/doc/tutorial_te_rdoc.html]
40
+
41
+ * See http://chronicj.digitalclash.com/apidocs/index.html for commented Java source (JavaDoc)
42
+
43
+ Get in touch if you have questions or if Runt causes your computer to burst into flames...
44
+
45
+ Matt[mailto:mlipper@gmail.com]
46
+
47
+ == Credits
48
+
49
+ Rubyforge[http://rubyforge.org] for hosting this project.
50
+
51
+ M.Fowler[http://martinfowler.com], Matz[http://ruby-lang.org],
52
+ T.Funaba (Date/DateTime[http://www.funaba.org/en/ruby.html]),
53
+ J.Weirich (Rake[http://rake.rubyforge.org]),
54
+ PragmaticProgrammers[http://pragmaticprogrammer.com], and everyone on
55
+ ruby-talk[mailto:ruby-talk@ruby-lang.org] for their shameless public display
56
+ of smartness.
57
+
58
+ Hal Fulton, Mauricio Fernandez, and Mark Hubbart for the
59
+ thread[http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/95465] on c.l.r.
60
+ that inspired a more Ruby-esque syntax for creating TE's. 2X Thanks to Hal, for
61
+ taking the time to exchange ideas off-line.
62
+
63
+ The ruby-nyc user's group for their suggestions and feedback.
64
+
65
+ BlueRobot[http://www.bluerobot.com/web/layouts/] for the CSS used to prettify the Runt website.
66
+
67
+ Emmett Shear for contributed TExpr#dates code and several thought-provoking feature requests.
68
+
69
+ Ira Burton for contributed DayIntervalTE class.
70
+
71
+ Jodi Showers for serialization bug fix.
72
+
73
+ Pat Maddox for YearTE.
74
+
75
+ Paul Wright for Time class compatibility.
76
+
77
+ Ara T. Howard for Numeric class extensions.
78
+
79
+ Larry Karnowski for BeforeTE, AfterTE, TExpr#dates enhancements, RFC2445 (iCalendar) compliance tests.
80
+
81
+ Gordon Thiesfeld for fixed Time integration and extended REWeek functionality
82
+
83
+ The number 12, and the letters E, J, and B.
84
+
85
+ = Etc...
86
+
87
+ Author:: Matthew Lipper <mlipper@gmail.com>
88
+ Requires:: Ruby 1.8.0 or later, Date/DateTime classes
89
+ License:: Copyright 2004 by Digital Clash LLC.
90
+ Released under the Apache Software license (see LICENSE.txt)
91
+ included in the distribution.
92
+
93
+ = Warranty
94
+
95
+ This software is provided "as is" and without any express or
96
+ implied warranties, including, without limitation, the implied
97
+ warranties of merchantibility and fitness for a particular
98
+ purpose.
99
+
100
+ link://../dcl-small.gif