runt19 0.7.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. data/.gitignore +17 -0
  2. data/Gemfile +4 -0
  3. data/History.txt +153 -0
  4. data/LICENSE +22 -0
  5. data/LICENSE.txt +44 -0
  6. data/Manifest.txt +112 -0
  7. data/README.md +29 -0
  8. data/README.txt +106 -0
  9. data/Rakefile +2 -0
  10. data/TODO +13 -0
  11. data/examples/payment_report.rb +59 -0
  12. data/examples/payment_reporttest.rb +49 -0
  13. data/examples/reminder.rb +63 -0
  14. data/examples/schedule_tutorial.rb +59 -0
  15. data/examples/schedule_tutorialtest.rb +52 -0
  16. data/lib/runt.rb +249 -0
  17. data/lib/runt/daterange.rb +74 -0
  18. data/lib/runt/dprecision.rb +150 -0
  19. data/lib/runt/expressionbuilder.rb +65 -0
  20. data/lib/runt/pdate.rb +165 -0
  21. data/lib/runt/schedule.rb +88 -0
  22. data/lib/runt/sugar.rb +171 -0
  23. data/lib/runt/temporalexpression.rb +795 -0
  24. data/lib/runt/version.rb +3 -0
  25. data/lib/runt19.rb +1 -0
  26. data/runt19.gemspec +17 -0
  27. data/setup.rb +1331 -0
  28. data/site/blue-robot3.css +132 -0
  29. data/site/dcl-small.gif +0 -0
  30. data/site/index.html +72 -0
  31. data/site/logohover.png +0 -0
  32. data/site/runt-logo.gif +0 -0
  33. data/site/runt-logo.psd +0 -0
  34. data/test/aftertetest.rb +31 -0
  35. data/test/baseexpressiontest.rb +110 -0
  36. data/test/beforetetest.rb +31 -0
  37. data/test/collectiontest.rb +63 -0
  38. data/test/combinedexpressionstest.rb +158 -0
  39. data/test/daterangetest.rb +89 -0
  40. data/test/dayintervaltetest.rb +37 -0
  41. data/test/difftest.rb +37 -0
  42. data/test/dimonthtest.rb +59 -0
  43. data/test/diweektest.rb +32 -0
  44. data/test/dprecisiontest.rb +58 -0
  45. data/test/everytetest.rb +36 -0
  46. data/test/expressionbuildertest.rb +64 -0
  47. data/test/icalendartest.rb +1104 -0
  48. data/test/intersecttest.rb +34 -0
  49. data/test/pdatetest.rb +147 -0
  50. data/test/redaytest.rb +40 -0
  51. data/test/remonthtest.rb +37 -0
  52. data/test/reweektest.rb +51 -0
  53. data/test/reyeartest.rb +99 -0
  54. data/test/rspectest.rb +25 -0
  55. data/test/runttest.rb +98 -0
  56. data/test/scheduletest.rb +148 -0
  57. data/test/spectest.rb +36 -0
  58. data/test/sugartest.rb +104 -0
  59. data/test/temporalexpressiontest.rb +76 -0
  60. data/test/uniontest.rb +36 -0
  61. data/test/wimonthtest.rb +54 -0
  62. data/test/yeartetest.rb +22 -0
  63. metadata +137 -0
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in runt.gemspec
4
+ gemspec
@@ -0,0 +1,153 @@
1
+ = Runt Changelog
2
+
3
+ == Version 0.7.0
4
+
5
+ * Addded tutorial_sugar.rdoc for new builder and shortcut stuff
6
+
7
+ * Added ExpressionBuilder class for creating expressions using more human-friendly syntax
8
+
9
+ * Fixed bug #20723: using modified patch contributed by Justin Cunningham. This partially reverted changes made by bug fix #5749, REDay by default now returns true for less precise arguments but accepts an optional constructor parameter which will override this behavior
10
+
11
+ * Removed deprecated "autorequire" property configuration from Rakefile
12
+
13
+ * Added properly spelled constant Runt::Eighth to the Runt module
14
+
15
+ * Added month constants defined in Date class to runt.rb for use by shortcuts
16
+
17
+ * Added optional Runt module extension which provides some syntactic sugar for creating common expressions
18
+
19
+ * Added tests and fixed broken to_s method in AfterTE and BeforeTE
20
+
21
+ * Applied patch contributed by Justin Cunningham for optimizing performance of the TExprUtils#max_day_of_month method - source is taken verbatim from ActiveSupport::CoreExtensions::Time::Calculations::ClassMethods module days_in_month method
22
+
23
+ * Changed runttest.rb to use local Time so test doesn't fail when run from another time zone
24
+
25
+ * Fixed usage of deprecated methods in Date when accessing them from PDate subclass
26
+
27
+ * Applied patches providing week precision and expanded RFC2445 compliance tests contributed by Larry Karnowski
28
+
29
+ * Fixed bug #19982: REYear will match day in any month if @same_month_dates_provided with patch submitted by Riley Lynch
30
+
31
+ == Version 0.6.0
32
+
33
+ * Refactored and improved temporal expression tests, moving them to separate files per class
34
+
35
+ * Fixed bug #5741: REYear incorrect handling of default args
36
+
37
+ * Fixed bug #5749: Fixed spans midnight for REDay (Revision 156), changed semantics when dealing with lower precision arguments
38
+
39
+ * Fixed bug #10640: incorrect tutorial section for tutorial_te.rdoc
40
+
41
+ * Fixed bug #10605: DateRange.empty? should be true for min == max
42
+
43
+ * Finished Schedule API tutorial
44
+
45
+ * Fixed bug #16143: Typo in Schedule RDoc
46
+
47
+ * Added README (and related files) in the generated rdoc
48
+
49
+ == Version 0.5.0
50
+
51
+ * 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)
52
+
53
+ * Added update method to Schedule allowing clients to update existing expressions
54
+
55
+ * Added select method to Schedule allowing clients to query Events using arbitrary criteria
56
+
57
+ * Added events method to Schedule which returns an Array of the currrently held Events
58
+
59
+ * Added time-related shortcuts to Runt module contributed by Ara T. Howard
60
+
61
+ * Added ability to work with Time class contributed by Paul Wright
62
+
63
+ * Implemented meaningful to_s methods for TExpr classes
64
+
65
+ * Added include? method to Standard Library Date class allowing Spec class better interaction with other expressions
66
+
67
+ * Applied patch to fix PDate serialization bug contributed by Jodi Showers
68
+
69
+ * Added BeforeTE, AfterTE, enhanced TExpr#dates method, RFC2445 (iCalendar) compliance unit test, contributed by Larry Karnowski
70
+
71
+ * Applied patch by Gordon Thiesfeld which fixes broken Time class compatibility
72
+
73
+ * Applied patch by Gordon Thiesfeld which allows REWeek expressions to span across two weeks
74
+
75
+ * Removed unused context.rb and contexttest.rb
76
+
77
+ * Removed unnecessary test suite alltests.rb
78
+
79
+ == Version 0.4.0
80
+
81
+ * Added DayIntervalTE contributed by Ira Burton which matches every n days past a given date
82
+
83
+ * Added YearTE requested by Pat Maddox
84
+
85
+ == Version 0.3.0
86
+
87
+ * TExpr (finally!) becomes a Module instead of a superclass
88
+
89
+ * Added overlap? method for all temporal expressions and DateRange
90
+
91
+ * Added REMonth expression which matches a range of dates each month
92
+
93
+ * Contributed by Emmett Shear: TExpr#dates method which returns an array of dates occurring within the supplied DateRange
94
+
95
+ * Rakefile fixes:
96
+ - test path allow gem to be installed with -t switch
97
+ - usage of gzip which will break on Win32
98
+
99
+ * Removed and then subsequently restored SpecTE
100
+
101
+ * General clean-up, including:
102
+ - renamed several methods on PDate
103
+ - renamed 'dateprecisiontest.rb' to 'dprecisiontest.rb'
104
+
105
+ * Fixed Object.id deprecation warning
106
+
107
+
108
+ == Version 0.2.0
109
+
110
+ * Fixed Schedule class
111
+ * Renamed Schedule#is_occurring? to Schedule#include?
112
+ * RAA deployment
113
+ * GEM deployment
114
+ * Renamed file dateprecisiontest.rb to dprecisiontest.rb
115
+ * Renamed several methods on PDate:
116
+ - second -> sec
117
+ - minute -> min
118
+ - hour_of_day -> hour
119
+ - day_of_month -> day
120
+
121
+ == Version 0.1.0
122
+
123
+ * 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:
124
+
125
+ - TemporalExpression class => TExpr
126
+ - DatePrecision module => DPrecision (file name changed also)
127
+ - TimePoint class => PDate (file name changed also)
128
+ - Added transparent use of bitwise set operators ( & , | ) for building composite expressions
129
+ - Added transparent use of - operator for diff expressions
130
+
131
+ * Updated TE Tutorial to reflect new and improved syntax usage
132
+ * Skipped several version numbers to celebrate
133
+
134
+ == Version 0.0.6
135
+
136
+ * TE Tutorial
137
+ * Website beautification
138
+ * Credits
139
+
140
+ == Version 0.0.4
141
+
142
+ * Improved Rake[http://rake.rubyforge.org] support
143
+ * Better documentation: README, TODO, CHANGES, etc.
144
+ * More Ruby-like source code layout and code organization inspired by Rake[http://rake.rubyforge.org] distribution
145
+ * Dropped the obviously superfluous 'alpha' from versioning
146
+
147
+ == Version 0.0.1
148
+
149
+ * Learned Ruby (or began trying, at any rate...)
150
+ * RubyForge project setup
151
+ * Basic implementation of the Java-based chronicJ[http://chronicJ.org] functionality in Ruby
152
+
153
+
data/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2012 Craig R Webster
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +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
44
+ THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,112 @@
1
+ History.txt
2
+ LICENSE.txt
3
+ Manifest.txt
4
+ README.txt
5
+ Rakefile
6
+ TODO
7
+ examples/payment_report.rb
8
+ examples/payment_reporttest.rb
9
+ examples/reminder.rb
10
+ examples/schedule_tutorial.rb
11
+ examples/schedule_tutorialtest.rb
12
+ lib/runt.rb
13
+ lib/runt/daterange.rb
14
+ lib/runt/dprecision.rb
15
+ lib/runt/expressionbuilder.rb
16
+ lib/runt/pdate.rb
17
+ lib/runt/schedule.rb
18
+ lib/runt/sugar.rb
19
+ lib/runt/temporalexpression.rb
20
+ runt.gemspec
21
+ setup.rb
22
+ site/blue-robot3.css
23
+ site/dcl-small.gif
24
+ site/index.html
25
+ site/logohover.png
26
+ site/runt-logo.gif
27
+ site/runt-logo.psd
28
+ target/blue-robot3.css
29
+ target/dcl-small.gif
30
+ target/doc/classes/Date.html
31
+ target/doc/classes/ExpressionBuilder.html
32
+ target/doc/classes/Runt.html
33
+ target/doc/classes/Runt/AfterTE.html
34
+ target/doc/classes/Runt/BeforeTE.html
35
+ target/doc/classes/Runt/Collection.html
36
+ target/doc/classes/Runt/DIMonth.html
37
+ target/doc/classes/Runt/DIWeek.html
38
+ target/doc/classes/Runt/DPrecision.html
39
+ target/doc/classes/Runt/DPrecision/Precision.html
40
+ target/doc/classes/Runt/DateRange.html
41
+ target/doc/classes/Runt/DayIntervalTE.html
42
+ target/doc/classes/Runt/Diff.html
43
+ target/doc/classes/Runt/Event.html
44
+ target/doc/classes/Runt/EveryTE.html
45
+ target/doc/classes/Runt/Intersect.html
46
+ target/doc/classes/Runt/PDate.html
47
+ target/doc/classes/Runt/REDay.html
48
+ target/doc/classes/Runt/REMonth.html
49
+ target/doc/classes/Runt/REWeek.html
50
+ target/doc/classes/Runt/REYear.html
51
+ target/doc/classes/Runt/RSpec.html
52
+ target/doc/classes/Runt/Schedule.html
53
+ target/doc/classes/Runt/Spec.html
54
+ target/doc/classes/Runt/TExpr.html
55
+ target/doc/classes/Runt/TExprUtils.html
56
+ target/doc/classes/Runt/Union.html
57
+ target/doc/classes/Runt/WIMonth.html
58
+ target/doc/classes/Runt/YearTE.html
59
+ target/doc/classes/Time.html
60
+ target/doc/created.rid
61
+ target/doc/files/CHANGES.html
62
+ target/doc/files/LICENSE_txt.html
63
+ target/doc/files/README.html
64
+ target/doc/files/TODO.html
65
+ target/doc/files/doc/tutorial_schedule_rdoc.html
66
+ target/doc/files/doc/tutorial_sugar_rdoc.html
67
+ target/doc/files/doc/tutorial_te_rdoc.html
68
+ target/doc/files/lib/runt/daterange_rb.html
69
+ target/doc/files/lib/runt/dprecision_rb.html
70
+ target/doc/files/lib/runt/expressionbuilder_rb.html
71
+ target/doc/files/lib/runt/pdate_rb.html
72
+ target/doc/files/lib/runt/schedule_rb.html
73
+ target/doc/files/lib/runt/sugar_rb.html
74
+ target/doc/files/lib/runt/temporalexpression_rb.html
75
+ target/doc/files/lib/runt_rb.html
76
+ target/doc/fr_class_index.html
77
+ target/doc/fr_file_index.html
78
+ target/doc/fr_method_index.html
79
+ target/doc/index.html
80
+ target/doc/rdoc-style.css
81
+ target/index.html
82
+ target/logohover.png
83
+ target/runt-logo.gif
84
+ test/aftertetest.rb
85
+ test/baseexpressiontest.rb
86
+ test/beforetetest.rb
87
+ test/collectiontest.rb
88
+ test/combinedexpressionstest.rb
89
+ test/daterangetest.rb
90
+ test/dayintervaltetest.rb
91
+ test/difftest.rb
92
+ test/dimonthtest.rb
93
+ test/diweektest.rb
94
+ test/dprecisiontest.rb
95
+ test/everytetest.rb
96
+ test/expressionbuildertest.rb
97
+ test/icalendartest.rb
98
+ test/intersecttest.rb
99
+ test/pdatetest.rb
100
+ test/redaytest.rb
101
+ test/remonthtest.rb
102
+ test/reweektest.rb
103
+ test/reyeartest.rb
104
+ test/rspectest.rb
105
+ test/runttest.rb
106
+ test/scheduletest.rb
107
+ test/spectest.rb
108
+ test/sugartest.rb
109
+ test/temporalexpressiontest.rb
110
+ test/uniontest.rb
111
+ test/wimonthtest.rb
112
+ test/yeartetest.rb
@@ -0,0 +1,29 @@
1
+ # Runt
2
+
3
+ TODO: Write a gem description
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'runt'
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install runt
18
+
19
+ ## Usage
20
+
21
+ TODO: Write usage instructions here
22
+
23
+ ## Contributing
24
+
25
+ 1. Fork it
26
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
27
+ 3. Commit your changes (`git commit -am 'Added some feature'`)
28
+ 4. Push to the branch (`git push origin my-new-feature`)
29
+ 5. Create new Pull Request
@@ -0,0 +1,106 @@
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
+ * Also this tutorial[http://runt.rubyforge.org/doc/files/doc/tutorial_schedule_rdoc.html]
41
+ * And this tutorial[http://runt.rubyforge.org/doc/files/doc/tutorial_sugar_rdoc.html]
42
+
43
+ * See http://chronicj.digitalclash.com/apidocs/index.html for commented Java source (JavaDoc)
44
+
45
+ Get in touch if you have questions or if Runt causes your computer to burst into flames...
46
+
47
+ Matt[mailto:mlipper@gmail.com]
48
+
49
+ == Credits
50
+
51
+ Rubyforge[http://rubyforge.org] for hosting this project.
52
+
53
+ M.Fowler[http://martinfowler.com], Matz[http://ruby-lang.org],
54
+ T.Funaba (Date/DateTime[http://www.funaba.org/en/ruby.html]),
55
+ J.Weirich (Rake[http://rake.rubyforge.org]),
56
+ PragmaticProgrammers[http://pragmaticprogrammer.com], and everyone on
57
+ ruby-talk[mailto:ruby-talk@ruby-lang.org] for their shameless public display
58
+ of smartness.
59
+
60
+ Hal Fulton, Mauricio Fernandez, and Mark Hubbart for the
61
+ thread[http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/95465] on c.l.r.
62
+ that inspired a more Ruby-esque syntax for creating TE's. 2X Thanks to Hal, for
63
+ taking the time to exchange ideas off-line.
64
+
65
+ The ruby-nyc user's group for their suggestions and feedback.
66
+
67
+ BlueRobot[http://www.bluerobot.com/web/layouts/] for the CSS used to prettify the Runt website.
68
+
69
+ Emmett Shear for contributed TExpr#dates code and several thought-provoking feature requests.
70
+
71
+ Ira Burton for contributed DayIntervalTE class.
72
+
73
+ Jodi Showers for serialization bug fix.
74
+
75
+ Pat Maddox for YearTE.
76
+
77
+ Paul Wright for Time class compatibility.
78
+
79
+ Ara T. Howard for Numeric class extensions.
80
+
81
+ Larry Karnowski for BeforeTE, AfterTE, TExpr#dates enhancements, RFC2445 (iCalendar) compliance tests.
82
+
83
+ Gordon Thiesfeld for fixed Time integration and extended REWeek functionality.
84
+
85
+ Justin Cunningham for performance optimizations, bug reports and patches.
86
+
87
+ Bug #19982 and patch submitted by Riley Lynch
88
+
89
+ The number 12, and the letters E, J, and B.
90
+
91
+ = Etc...
92
+
93
+ Author:: Matthew Lipper <mlipper@gmail.com>
94
+ Requires:: Ruby 1.8.0 or later, Date/DateTime classes
95
+ License:: Copyright 2004 by Digital Clash LLC.
96
+ Released under the Apache Software license (see LICENSE.txt)
97
+ included in the distribution.
98
+
99
+ = Warranty
100
+
101
+ This software is provided "as is" and without any express or
102
+ implied warranties, including, without limitation, the implied
103
+ warranties of merchantibility and fitness for a particular
104
+ purpose.
105
+
106
+ link://../dcl-small.gif