ad_agency 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,2 +1,15 @@
1
- === 0.1.0 Initial Release
2
- Basic generation of announce email - see README.rdoc
1
+ === v0.1.1 2010-04-21
2
+ fix merge problem
3
+ history file generator now writes History.txt
4
+ history file generator now writes History.txt
5
+ generate tag for untagged changes from HISTORY
6
+ Version bump to 0.1.1
7
+ added history file generator task
8
+ refactor for specability
9
+ fixed spelling of task name
10
+ === v0.1.0 2010-04-17
11
+ change own rakefile to use gem
12
+ Add documentation, rename raketask
13
+ Version bump to 0.1.0
14
+ Version bump to 0.0.0
15
+ Initial commit to ad_agency.
data/README.rdoc CHANGED
@@ -28,7 +28,7 @@ or you can replace that line since ad_agency requires jeweler itself
28
28
 
29
29
  To produce an announcement run the rake task:
30
30
 
31
- rake advertize:email_body -s
31
+ rake advertise:email_body -s
32
32
 
33
33
  Running this task prints an announcement to stdout, the -s option supresses noise from rake.
34
34
 
data/Rakefile CHANGED
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
  require 'rake'
3
3
 
4
4
  begin
5
- require 'ad_agency'
5
+ require 'lib/ad_agency'
6
6
  Jeweler::Tasks.new do |gem|
7
7
  gem.name = "ad_agency"
8
8
  gem.summary = %Q{An extension to Jeweler for generating announcements}
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -0,0 +1,63 @@
1
+ require 'date'
2
+ module AdAgency
3
+ class History
4
+ attr_reader :tag_for_commit
5
+
6
+ def git_tags
7
+ `git tag`.split.map {|raw| raw.chomp}
8
+ end
9
+
10
+ def git_describe(tag)
11
+ `git describe --tags --long #{tag}`.chomp
12
+ end
13
+
14
+ def git_log
15
+ `git log --format=format:"commit-%h %cd %s %b" --date=short`.split("\n")
16
+ end
17
+
18
+ def tag_and_commit(string)
19
+ if /^([^-]+)-\d+-g(.+)$/ =~ string
20
+ [$1, $2]
21
+ else
22
+ [nil, nil]
23
+ end
24
+ end
25
+
26
+ def get_current_version
27
+ File.readlines(
28
+ File.expand_path(File.dirname(__FILE__) + "../../../VERSION")
29
+ ).first.chomp
30
+ end
31
+
32
+ def cleanup(string)
33
+ string.sub(/^=*\s*([vV](ersion)?)?\d+\.\d+\.\d+\s+(-\s+\d+\s+[^ ]*\s+(\d\d\d\d)?-?\s+)?/ , "")
34
+ end
35
+
36
+ def tag_description(tag, date)
37
+ "=== #{tag} #{date}"
38
+ end
39
+
40
+ def generate(output = STDOUT)
41
+ @tag_for_commit = {}
42
+ current_tag = "v#{get_current_version}"
43
+ git_tags.each do |tag|
44
+ tag, commit = *tag_and_commit(git_describe(tag))
45
+ current_tag = nil if current_tag == tag
46
+ @tag_for_commit[commit] = tag if tag
47
+ end
48
+ output.puts(tag_description(current_tag, Date.today)) if current_tag
49
+ commit_regexp = %r{^(#{@tag_for_commit.keys.join("|")})}
50
+ git_log.each do |line|
51
+ if /^commit-([^ ]+) ([^ ]+) (.*$)/ =~ line
52
+ sha, date, description = $1, $2, $3
53
+ if commit_regexp =~ sha
54
+ output.puts(tag_description(@tag_for_commit[$1], date))
55
+ end
56
+ output.puts " #{cleanup(description)}"
57
+ else
58
+ output.puts " #{cleanup(line)}"
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,36 @@
1
+ module AdAgency
2
+ class PrintShop
3
+
4
+ def self.get_version
5
+ File.readlines("VERSION").first.chomp
6
+ end
7
+
8
+ def self.history_file?
9
+ File.exist?("History.txt")
10
+ end
11
+
12
+ def self.history_lines
13
+ File.readlines("History.txt")
14
+ end
15
+
16
+ def self.print_ad(spec, outfile=STDOUT)
17
+ version = get_version
18
+ maj_min = version[/^\d+\.\d+/]
19
+ outfile.puts "Announcing #{spec.name} version #{version}"
20
+ outfile.puts spec.summary
21
+ outfile.puts
22
+ outfile.puts spec.description
23
+ outfile.puts
24
+ if history_file?
25
+ outfile.puts "Changes:"
26
+ outfile.puts
27
+ history_lines.each do |line|
28
+ if line =~ /^=+\s+v?(\d+\.\d+)\./
29
+ break unless $1 == maj_min
30
+ end
31
+ outfile.puts line
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
data/lib/ad_agency.rb CHANGED
@@ -2,6 +2,12 @@ require 'rake'
2
2
  require 'rake/tasklib'
3
3
  require 'jeweler'
4
4
 
5
+ module AdAgency
6
+ end
7
+
8
+ require 'lib/ad_agency/print_shop'
9
+ require 'lib/ad_agency/history'
10
+
5
11
  class Jeweler
6
12
  # Rake tasks for announcing a Jeweler gem.
7
13
  #
@@ -21,26 +27,16 @@ class Jeweler
21
27
  end
22
28
 
23
29
  def define
24
- namespace :advertize do
30
+ namespace :advertise do
25
31
  desc "generate an announcement email body"
26
32
  task :email_body do
27
- spec = jeweler.gemspec
28
- version = File.readlines("VERSION").first.chomp
29
- maj_min = version[/^\d+\.\d+/]
30
- puts "Announcing #{spec.name} version #{version}"
31
- puts spec.summary
32
- puts
33
- puts spec.description
34
- puts
35
- if File.exist?("History.txt")
36
- puts "Changes:"
37
- puts
38
- File.readlines("History.txt").each do |line|
39
- if line =~ /^=+\s+(\d+\.\d+)\./
40
- break unless $1 == maj_min
41
- end
42
- puts line
43
- end
33
+ AdAgency::PrintShop.print_ad(jeweler.gemspec)
34
+ end
35
+
36
+ desc "generate History.txt from the git log"
37
+ task :gen_history do
38
+ File.open(File.expand_path(File.dirname(__FILE__) + "../../History.txt"), 'w') do |hist_file|
39
+ AdAgency::History.new.generate(hist_file)
44
40
  end
45
41
  end
46
42
  end
@@ -0,0 +1,375 @@
1
+ commit-55fbed2 2010-04-20 change rakefile to use ad_agency
2
+ commit-2dbcdf8 2010-04-16 Regenerated gemspec for version 0.8.7
3
+ commit-5943632 2010-04-16 update history
4
+ commit-9ecc7ae 2010-04-16 Version bump to 0.8.7
5
+ commit-8d763e2 2010-04-16 fix tickets #29-supress x-rical-tzsource when not relevant
6
+ commit-8d021f1 2010-04-15 Regenerated gemspec for version 0.8.6
7
+ commit-93abe15 2010-04-15 update history prior to release
8
+ commit-2d606d5 2010-04-15 Version bump to 0.8.6
9
+ commit-ef42601 2010-04-15 fix tzinfo timezone export
10
+ commit-c948343 2010-04-15 force change managment datetimes to zulu time
11
+ commit-77aa811 2010-04-15 added ZuluDateTime property for use by change management properties
12
+ commit-8f4946b 2010-04-15 parked a spec
13
+ commit-f61b082 2010-04-15 Convert to jeweler
14
+ commit-9579854 2010-04-15 Version bump to 0.8.5
15
+ commit-445afd0 2009-12-20 remove unneeeded Date#to_time and DateTime#to_time methods
16
+ commit-210a72d 2009-12-20 remove inf loop spec temporarily
17
+ commit-226fcf9 2009-11-16 Working on a bug where a recurrence rule with simple by-parts caused an infinite loop See spec/ri_cal/inf_loop_spec
18
+
19
+ Although the reported bug is fixed there is still work to do because giving an event a dtstart
20
+ not within the recurrence rule produces incorrect output.
21
+
22
+ 1) 'an event with unneeded by parts with a dtstart outside the recurrence rule should enumerate 10 events first July 12, 1940, July 13, 1940, July 13, 1941 when count is 3' FAILED
23
+ expected: ["1940-07-12", "1940-07-13", "1941-07-13"],
24
+ got: ["1940-07-12", "1940-07-13", "1941-07-12"] (using ==)
25
+
26
+ I'm going to push this to github, but not release a new gem version until I can fix this latter bug.
27
+
28
+ commit-4918bae 2009-11-15 fixed infinite loop bug for reported case
29
+ commit-182fb58 2009-09-27 website and gemspec
30
+ commit-e81f8f4 2009-09-27 Fixed Ticket #26, failing with date values for event dtstart and dtend
31
+ commit-d4a423c 2009-09-18 updated website
32
+ commit-4f60020 2009-09-18 fixed gemspec problem
33
+ commit-465b033 2009-09-18 prepared to publish
34
+ commit-a80db61 2009-09-18 refactored occurrence incrementers
35
+ commit-d06cff4 2009-09-17 checkpoint
36
+ commit-06b24a9 2009-09-17 changed ri_cal.rb to autoload
37
+ commit-94d6537 2009-09-17 changed ri_cal.rb to autoload
38
+ commit-46bb5d1 2009-09-05 another attempt to trigger github to rebuild
39
+ commit-0b71219 2009-09-04 fixed gem version so github should now build
40
+ commit-3e4110c 2009-09-04 0.8.2 - 4 September 2009 Fixes http://rick_denatale.lighthouseapp.com/projects/30941/tickets/23 initialization_methodsrb-syntax Fixes http://rick_denatale.lighthouseapp.com/projects/30941/tickets/24 need-to-handle-empty-property-values
41
+ commit-0471252 2009-09-04 fixed ticket #23
42
+ commit-c85f4da 2009-09-04 adopted patch from ebigart
43
+ commit-c799edc 2009-08-22 Support properties with no value (e.g. 'LOCATION;LANGUAGE=en-US:' gets generated using Outlook)
44
+ commit-5d8a2fb 2009-08-18 0.8.1 - 18 August 2009 Fixes http://rick_denatale.lighthouseapp.com/projects/30941/tickets/21 exception-when-count-option-used-to-enumerate-non-recurring-event
45
+ commit-128d820 2009-08-11 0.8.0 - 11 August 2009 Minor Version Bump - There is a small potentially breaking change see section on treatment of X-properties below * Unknown Components
46
+
47
+ Starting with version 0.8.0 RiCal will parse calendars and components which contain nonstandard components.
48
+
49
+ For example, there was a short-lived proposal to extend RFC2445 with a new VVENUE component which would hold structured information about the location of an event. This proposal was never accepted and was withdrawn, but there is icalendar data in the wild which contains VVENUE components.
50
+
51
+ Prior to version 0.8.0, RiCal would raise an exception if unknown component types were encountered. Starting with version 0.8.0 RiCal will 'parse' such components and create instances of NonStandard component to represent them. Since the actual format of unknown components is not known by RiCal, the NonStandard component will simply save the data lines between the BEGIN:xxx and END:xxx lines, (where xxx is the non-standard component name, e.g. VVENUE). If the calendar is re-exported the original lines will be replayed.
52
+
53
+ * Change to treatment of X-properties
54
+
55
+ RFC2445 allows 'non-standard' or experimental properties which property-names beginning with X. RiCal always supported parsing these.
56
+
57
+ The standard properties are specified as to how many times they can occur within a particular component. For singly occurring properties RiCal returns a single property object, while for properties which can occur multiple times RiCal returns an array of property objects.
58
+
59
+ While implementing NonStandard properties, I realized that X-properties were being assumed to be singly occurring. But this isn't necessarily true. So starting with 0.8.0 the X-properties are represented by an array of property objects.
60
+
61
+ THIS MAY BREAK SOME APPLICATIONS, but the adaptation should be easy.
62
+
63
+ commit-52efb38 2009-08-06 0.7.7 - 6 August 2009 - No changes other than a version number bump. github seems to have failed to notice the commit of v0.7.6
64
+ and didn't build the gem. Hopefully it will notice this one.
65
+
66
+ commit-880e8ac 2009-08-06 Version 0.7.6 - Fixes http://rick_denatale.lighthouseapp.com/projects/30941/tickets/20 RiCal::PropertyValue::Period was returning a nil ruby value.
67
+ commit-19254ab 2009-08-06 Version 0.7.6 - Fixes http://rick_denatale.lighthouseapp.com/projects/30941/tickets/20 RiCal::PropertyValue::Period was returning a nil ruby value.
68
+ commit-bfedb3c 2009-08-06 checkpoint before regen
69
+ commit-fb86ee0 2009-08-03 Merge commit 'origin/master'
70
+ commit-25fc7f5 2009-08-03 0.7.5 fixed http://rick_denatale.lighthouseapp.com/projects/30941/tickets/19 Microsoft ical exports double quote tzid values in parameters, which caused a failure to find VTIMEZONES
71
+ This exposed an issue with parameter parsing.
72
+
73
+ commit-8e0a41e 2009-08-03 0.7.5 fixed http://rick_denatale.lighthouseapp.com/projects/30941/tickets/19 Microsoft ical exports double quote tzid values in parameters, which caused a failure to find VTIMEZONES
74
+ This exposed an issue with parameter parsing.
75
+
76
+ commit-3fbfbc9 2009-07-21 updated website
77
+ commit-2a0c4ba 2009-07-21 Oops forgot to update gemspec
78
+ commit-0532234 2009-07-21 release 0.7.4
79
+ commit-f615bf0 2009-07-21 fix alarm trigger
80
+ commit-9ed3cd4 2009-07-13 0.7.3 added pointer to rdoc in README
81
+ commit-b04b471 2009-07-06 === 0.7.2 - 6 July 2007 updated to use newest versions of newgem and hoe, in order to make run-code-run work again
82
+ commit-184066f 2009-07-06 === 0.7.2 - 6 July 2007 updated to use newest versions of newgem and hoe, in order to make run-code-run work again
83
+ commit-66babd7 2009-07-06 === 0.7.1 - 6 July 2007 * fixed http://rick_denatale.lighthouseapp.com/projects/30941/tickets/15 duration validation issues * fixed http://rick_denatale.lighthouseapp.com/projects/30941/tickets/16 event finish_time loses timezone info when event has a dtstart and duration
84
+ commit-f7d0c18 2009-06-29 * fixed http://rick_denatale.lighthouseapp.com/projects/30941/tickets/14 component without recurrence properties should enumerate just itself only if it is within the period between starting and before * added the :overlapping option to OccurrenceEnumerator#occurrences - Allows the enumeration of occurrences which are either partiall or completely within a timespan given by a pair of Dates/Times/DateTimes * Fixed some Ruby 1.9 incompatibilities * Added some new rake tasks to run specs under multi-ruby
85
+ commit-4d3707e 2009-06-23 fixes http://rick_denatale.lighthouseapp.com/projects/30941/tickets/14 component-without-recurrence-properties-should-enumerate-just-itself-only-if-it-is-within-the-period-between-starting-and-before
86
+
87
+ commit-26d1be8 2009-06-15 Made the test rake task a no-op since we only have specs not tests Cleaned up syntax warnings in two specs using here doc strings
88
+
89
+ commit-9b5d3d3 2009-06-14 0.6.3 - 14 June 2009 * Fixed http://rick_denatale.lighthouseapp.com/projects/30941-ri_cal/tickets/13 tzinfotimezones-with-no-transitions-fail-on-export
90
+ commit-3930187 2009-06-11 0.6.2 - 11 June 2009 * Fixed http://rick_denatale.lighthouseapp.com/projects/30941-ri_cal/tickets/12 export-failure-for-unbounded-tzinfo-timezone
91
+ commit-3b33116 2009-06-07 0.6.1 - 6 June 2009 * Fixed problem with file which loads activesupport for the rake spec:with_activesupport task, it now requires >=2.2 instead of <=2.2 - Thanks to Paul Scott-Murphy for finding this.
92
+ commit-42cce37 2009-06-07 fixed gem version requirement in tasks/gem_loader/load_active_support.rb
93
+ commit-b02493b 2009-06-05 === 0.6.0 - 5 June 2009 Time for a minor version bump. * Improved overall enumeration performance bypassing most of the effects of the poor performance of Ruby's DateTime class. * Added a framework for performance monitoring during development. - New performance directory with subdirs for code to be monitored for performance (subjects) - New script files: script/benchmark_subject runs a ruby benchmark on one performance subject script/profile_subject runs ruby-prof for a subject and puts a kcachegrind compatible calltree in the performance_data directory. - New rake tasks: performance:benchmark runs benchmarks against all subjects in the performance directory and produces a consolidated output file in performance_data/benchmarks.out performance:profile runs script/profile_subject against all subjects in the performance directory.
94
+ commit-9724c17 2009-06-05 performance harness
95
+ commit-3a914a7 2009-06-04 changed profile3 to output kcachegrind compatible output
96
+ commit-7036aac 2009-06-01 version 0.5.3
97
+ commit-31fd75f 2009-06-01 ready to merge
98
+ commit-a891aa4 2009-05-30 timezone period now caching occurrences
99
+ commit-decc48b 2009-05-29 experiment with caching rationals in the RiCal module
100
+ commit-94797c9 2009-05-29 added reset of caches
101
+ commit-692e487 2009-05-29 Easy performance improvement for occurrence enumeration
102
+ commit-a6ea99c 2009-05-29 changes to rakefile - trying to make rake release work
103
+ commit-4a3d30e 2009-05-28 Version 0.5.2
104
+ commit-32ab73d 2009-05-27 Fixed [\#11 state:resolved]
105
+ commit-d78f4d9 2009-05-26 0.5.1 fix README to acknowledge release on RubyForge
106
+ commit-5d9f1ca 2009-05-26 version 0.5.0 rubyforge release candidate
107
+ commit-481e97e 2009-05-25 after generator change
108
+ commit-641c7dc 2009-05-23 updated version to 0.0.11
109
+ commit-2bcce46 2009-05-23 Fixes [\#5 state:resolved milestone:"0.0.11"]
110
+ commit-78feceb 2009-05-23 Fixed [\#9 state:resolved milestone:"0.0.11"]
111
+ commit-1129c23 2009-05-21 Fixed bug [\#8 tagged:committed state:resolved]
112
+ commit-861ea2b 2009-05-21 fixed [\#4 \#6 state:committed]
113
+ commit-034da66 2009-05-21 Fixed bugs [\#4 \#6 state:committed]
114
+ commit-12c8f3c 2009-05-19 fixed [\#1] tagged:committed fixed [\#2] tagged:committed fixed [\#3] tagged:committed
115
+ commit-ee59568 2009-05-18 gemspec for 0.0.7
116
+ commit-93e2f4e 2009-05-18 Documentation updates
117
+ commit-5e76eb2 2009-05-18 fixed problem with TimeWithZone
118
+ commit-f7c2dd1 2009-05-17 updated gemspec
119
+ commit-fc5ba42 2009-05-17 new rake tasks to run specs with tzinfo or activesupport
120
+ commit-533a435 2009-05-17 fixed an occurrence enumeration bug reported by paulsm on github
121
+ commit-8c87156 2009-05-17 fixed bug in imported timezones
122
+ commit-28e7a71 2009-05-17 fixed bug reported by paulsm via github
123
+ commit-0621f38 2009-05-14 fixed manifest to remove .ackrc
124
+ commit-dac73ca 2009-05-14 new gemspec
125
+ commit-56882ca 2009-05-14 removed rubigen include from Rakefile, since it pulls in activesupport
126
+ commit-b506ef5 2009-05-14 doc cleanup
127
+ commit-a302690 2009-05-14 doc cleanup
128
+ commit-525c4e8 2009-05-14 rationalized namespaces of Datetime property modules
129
+ commit-efcfff1 2009-05-14 finished string conversion specs
130
+ commit-9e4e992 2009-05-14 synced copyrights
131
+ commit-d747fd3 2009-05-14 added spec for string conversion to datetime
132
+ commit-fe795a2 2009-05-14 added specs for multiply occuring property example
133
+ commit-564c802 2009-05-14 checkpoint after generator change
134
+ commit-17618df 2009-05-14 implement OccurrenceEnumerator :starting option fix so that :before and :starting actually accept Date,Time or DateTime instances as arguments by converting occurrence[:start].to_datetime before comparing against :starting or :before
135
+ commit-22e5c38 2009-05-14 checkpoint
136
+ commit-ead2313 2009-05-13 ruby values of datetime props now have tzids and proper utc-offsets
137
+ commit-97cf7a6 2009-05-13 fixed bug where RiCal::PropertyValue::Duration.from_datetime would fail when start > finish
138
+ commit-54b4b9f 2009-05-13 regenerated
139
+ commit-2a0e76f 2009-05-13 checkpoint after generator change
140
+ commit-148b787 2009-05-12 checkpoint before generator change
141
+ commit-c47e467 2009-05-12 Merge branch 'master' of git://github.com/wesmaldonado/ri_cal
142
+ commit-f592c09 2009-05-12 RiCal::PropertyValue::DateTime.default_tzid can be set.
143
+ commit-3282727 2009-05-07 added OcurrenceList.occurrence_list_property_from_string
144
+ commit-e1ff725 2009-05-07 added timezone detection to occurence list convert
145
+ commit-453d7e2 2009-05-06 regenarated properties
146
+ commit-73d250e 2009-05-06 checkpoint after changing generator
147
+ commit-34f3658 2009-05-06 resync version number between ri_cal.rb and gemspec
148
+ commit-e1f5eca 2009-05-06 fixed manifest removed uncommitted occurrence_list_spec
149
+ commit-21c5a23 2009-05-05 updated manifest and gemspec
150
+ commit-afc7e21 2009-05-05 updated readme for github unofficial release
151
+ commit-587cb4a 2009-05-05 fixed export of x_property
152
+ commit-3bc17cb 2009-05-05 checkpoint changed generation
153
+ commit-699538f 2009-05-04 fixed problem with array input to datetime properties not using ::Array for check
154
+ commit-087cefd 2009-05-04 doc cleanup
155
+ commit-c0d3b71 2009-05-04 checkpoint after change to generator
156
+ commit-6c7f4c4 2009-05-04 checkpoint before generator change
157
+ commit-c82618c 2009-05-04 fixed manifest
158
+ commit-f883fff 2009-05-04 DATETIME properties can now also take an array with a time and a time zone identifier as a value
159
+ commit-f735098 2009-05-04 merge
160
+ commit-3be9412 2009-05-03 added in_time_zone method to DateTime property
161
+ commit-1771f86 2009-05-03 calendar now responsible for flagging tzinfo source
162
+ commit-7400b96 2009-05-01 refactored DateTime property value class -- finally
163
+ commit-95d27ef 2009-05-01 .utc working for imported datetimes
164
+ commit-a65a01e 2009-05-01 working on timezone conversions for datetime property
165
+ commit-efcf0b3 2009-04-30 fixed problem with count in recurrence rule
166
+ commit-46c833f 2009-04-30 Merge branch 'master' of ssh://git@denhaven2.com/home/git/repositories/ri_cal
167
+ commit-3b69e58 2009-04-30 added more tzinfo timezone compat specs
168
+ commit-6f69dea 2009-04-30 fixed issue with active support time zones
169
+ commit-5e24a52 2009-04-30 fixed gem generation issues
170
+ commit-fc283a2 2009-04-30 fixed gem generation issues
171
+ commit-43d9ed5 2009-04-29 changed unneeded around_local back to last_before_local
172
+ commit-c8d5891 2009-04-29 timezone checking for ambiguous/invalid local times
173
+ commit-6e88981 2009-04-29 checkpoint
174
+ commit-f7cd430 2009-04-29 changed parent_component to timezone_finder
175
+ commit-333d026 2009-04-29 checkpoint before renaming parent_component to timezone_finder
176
+ commit-56990b5 2009-04-29 checkpoint before regeneration
177
+ commit-5d2692d 2009-04-28 checkpoint before regeneration
178
+ commit-4df4486 2009-04-28 fixed export to fold long output lines
179
+ commit-b759a3d 2009-04-28 added adams builder patch and code that ensued
180
+ commit-97244dd 2009-04-27 added second style of component initialization block
181
+ commit-c2059f0 2009-04-26 ruby 1.9 compatibility
182
+ commit-90d65d6 2009-04-24 more doc
183
+ commit-ef9815b 2009-04-23 working on docs
184
+ commit-d49d6ea 2009-04-23 working on doc
185
+ commit-6a4419f 2009-04-23 component build seems to be working
186
+ commit-7a0aa48 2009-04-23 checkpoint before applying new rake task change
187
+ commit-2c4cd15 2009-04-23 prior to regeneration - added new methods to the rake task for multiple value properties
188
+ commit-c3401c5 2009-04-23 added some doc to readme
189
+ commit-06590ee 2009-04-23 added support for times with floating time zones
190
+ commit-8b3f6aa 2009-04-23 component export datetime and date now formatting correctly
191
+ commit-2d2c3e4 2009-04-23 fixed tzinfo_timezone spec
192
+ commit-a12f13a 2009-04-22 export event 1 spec fails
193
+ commit-bb5c214 2009-04-22 checkpoint before regeneration
194
+ commit-3b4dda7 2009-04-22 generated properties
195
+ commit-d1a4bb5 2009-04-22 changed ri_cal rake task to generate add_date_times_to(required_timezones) method
196
+ commit-13bd936 2009-04-22 added classes to accumulate require timezones for export
197
+ commit-8f5f80e 2009-04-22 dead code elimination
198
+ commit-74fe571 2009-04-22 removed debugging output
199
+ commit-cea0303 2009-04-22 all specs passing, need to remove debugging output
200
+ commit-f6675c6 2009-04-22 recurrence rule spec passing
201
+ commit-aea72cb 2009-04-19 checkpoint, about to combine byday, bymonthday, and byyearday incrementers
202
+ commit-059cd95 2009-04-13 checkpoint
203
+ commit-af5dcb1 2009-04-10 checkpoint
204
+ commit-5498912 2009-04-06 checkpoint
205
+ commit-d720a67 2009-04-03 checkpoint
206
+ commit-fd37bc5 2009-04-03 checkpoint
207
+ commit-dac8e83 2009-04-03 checkpoint
208
+ commit-145d011 2009-04-03 checkpoint before moving by rules checks
209
+ commit-e9be1c3 2009-04-03 specs passing, but some missing
210
+ commit-89daba0 2009-04-03 checkpoint
211
+ commit-bf4e9f7 2009-04-03 tabled experiment
212
+ commit-a4df942 2009-04-02 taught the text property how to deal with escaped characters
213
+ commit-f37fc68 2009-03-27 checkpoint
214
+ commit-f8d6044 2009-03-13 checkpoint
215
+ commit-2b4148f 2009-03-13 checkpoint before moving by rules checks
216
+ commit-66d0d11 2009-03-13 specs passing, but some missing
217
+ commit-342bef4 2009-03-13 checkpoint
218
+ commit-5e1f371 2009-03-13 tabled experiment
219
+ commit-30fdc11 2009-03-13 added copyright task
220
+ commit-290737e 2009-02-27 merged timezone_calcs
221
+ commit-7c5178a 2009-02-27 initial timezone enumeration working
222
+ commit-d473deb 2009-02-27 changed tzinfo to emit one period each for standard and daylight
223
+ commit-ea8dca9 2009-02-27 changed tzinfo to emit one period each for standard and daylight
224
+ commit-7e4eb08 2009-02-27 changed rdoc to darkfish format, took doc directory out of .gitignore
225
+ commit-ed3ef43 2009-02-26 Merge branch 'occurrence_enumeration' Conflicts:
226
+ .gitignore
227
+ README.txt
228
+ Rakefile
229
+ component_attributes/component_property_defs.yml
230
+ lib/ri_cal.rb
231
+ lib/ri_cal/component.rb
232
+ lib/ri_cal/parser.rb
233
+ lib/ri_cal/property_value.rb
234
+ spec/ri_cal/parser_spec.rb
235
+ spec/ri_cal/property_value_spec.rb
236
+ spec/spec_helper.rb
237
+ tasks/ri_cal.rake
238
+
239
+ commit-0d986be 2009-02-26 Prepared for limited release Lots of Doc
240
+
241
+ Refactored validations out of recurrence rule
242
+
243
+ commit-fd5e548 2009-02-25 occurrence enumeration producing hashes
244
+ commit-046e179 2009-02-23 Moved inner classes inside RecurrenceRule to separate files
245
+ commit-16df4b4 2009-02-23 Refactored to put components inside the Component class
246
+ commit-c65cffc 2009-02-23 Refactored for modularity - put value classes inside PropertyValue class, renamed so e.g. DurationValue is now PropertyValue::Duration
247
+ commit-81b1bec 2009-02-23 moved calculations to date/time/datetime
248
+ commit-7d7515e 2009-02-23 moved nth weekday predicates to Ruby time/date/datetime
249
+ commit-a64c5d2 2009-02-23 file restructuring
250
+ commit-66d7dac 2009-02-22 Added specs and behavior for: date_time_value
251
+ calculations such as subtraction to produce a duration, and addition and subtraction of a duration
252
+ duration_value
253
+ period_value
254
+
255
+ commit-8cf997e 2009-02-21 used autoload to preload some classes/modules
256
+ commit-99da51d 2009-02-16 refactored to put generated component property methods in separate modules
257
+ commit-7ac6757 2009-02-14 now ignoring doc and coverage directory contents
258
+ commit-3eaf500 2009-02-14 Added attribute definitions for alarm, freebusy, journal components. Added psuedo components with attribute definitions for timezone periods Added parsing of nested components
259
+ commit-b42d331 2009-02-14 removed dependency on activesupport
260
+ commit-d7c64a2 2009-02-14 renamed ventity to component, and all components have natural names like Calendar, Event etc.
261
+ commit-1528c18 2009-02-14 removed name iv from property_value, no longer needed
262
+ commit-aa39e12 2009-02-14 added initial vtdodo_spec
263
+ commit-e350d1f 2009-02-14 mend
264
+ commit-783eecb 2009-02-14 added mutually exclusive property resetting
265
+ commit-9b2aaf7 2009-02-14 added Vtodo class
266
+ commit-bbaf510 2009-02-14 added GeoValue class
267
+ commit-daefa0e 2009-02-14 entities now have accessors for both properties and property values
268
+ commit-dbd6590 2009-02-14 now using yml for attributes, generating rdoc for methods
269
+ commit-80674a1 2009-02-14 methods for entities are now generated rather than dynamic, to facilitate rdoc
270
+ commit-6688312 2009-02-14 checkpoint before destroying rb files
271
+ commit-3d4542f 2009-02-14 normalized project file structure
272
+ commit-93dfc46 2009-02-14 multi-value attributes
273
+ commit-cee57c3 2009-02-14 added base spec for ri_cal
274
+ commit-934c7bf 2009-02-14 prepare to support multiple value attributes
275
+ commit-08e7056 2009-02-14 fixed file hierarchy in spec directory so that autodetection works
276
+ commit-9b3255e 2009-02-14 all rrule examples in RFC 2445 passing
277
+ commit-6597302 2009-02-14 Every 20 mins...
278
+ commit-5434938 2009-02-14 by setpos usecases working
279
+ commit-85c040e 2009-02-14 passing use cases through the US presidential election case
280
+ commit-ea95fa4 2009-02-14 byday with yearly frequency working
281
+ commit-927be0f 2009-02-14 YEARLY with by-month list now working
282
+ commit-4cd4c12 2009-02-14 checkpoint working on YEARLY with by-month list
283
+ commit-31a3cfe 2009-02-14 new enumeration algorithm, mostly working
284
+ commit-197ffb2 2009-02-14 checkpoint - bit the bullet on using activesupport
285
+ commit-335880b 2009-02-14 all frequencies, interval=1, next occurrence
286
+ commit-303e901 2009-02-14 partial implementation checkpoint
287
+ commit-96c459a 2009-02-14 processing :value key in recurrence_rule initialization
288
+ commit-6b19ccc 2009-02-14 changed by_xxx symbols to just byxxx
289
+ commit-a380287 2009-02-14 Refactored v_xx_property classes are now xx_value
290
+
291
+ commit-0bd6249 2009-02-14 added behavior and specs for recurring weekno rule part
292
+ commit-6bfc18e 2009-02-14 fixed wkstart calculations
293
+ commit-62de9f5 2009-02-14 checkpoint - initial week start calculations are broken
294
+ commit-79bd160 2009-02-14 refactored to move month length calculations to a module
295
+ commit-479981f 2009-02-14 added computational behavior and specs for recurring month days
296
+ commit-6191cd2 2009-02-14 to_ical implementation for recurrence rules
297
+ commit-a4652c7 2009-02-14 all by_xxx rules can now be set on instantiation
298
+ commit-ff167d8 2009-02-14 refactored validation of recurrence rule
299
+ commit-d0c0072 2009-02-14 initial by_xxx rules
300
+ commit-e09c554 2009-02-14 checkpoint start on recurrence rule value
301
+ commit-fb3ac6b 2009-02-14 changed autotest config
302
+ commit-b120999 2009-02-14 fixed up autotest configuration
303
+ commit-7a12a89 2009-02-14 all vevent properties, I think
304
+ commit-73694df 2009-02-14 added recurrence rules; removed activesupport dependency
305
+ commit-ce351d8 2009-02-14 refactored ventity to use metaprogramming for repetitive methods
306
+ commit-e515a59 2009-02-14 checkpoint before doing some metaprogramming
307
+ commit-2430f0a 2009-02-14 renamed project from rfc2445 to ri_cal
308
+ commit-85b1731 2009-02-14 added correct expectation
309
+ commit-33d57ab 2009-02-14 added initial support to generate a VTIMEZONE component from a TZInfo::Timezone
310
+ commit-0c7d44c 2009-02-14 additional property types including integers, dates and date-times
311
+ commit-145e47c 2009-02-14 refactored and added array property
312
+ commit-c783293 2009-02-14 some event properties
313
+ commit-ccef211 2009-02-14 base calendar properties
314
+ commit-2a7663d 2009-02-14 initial commit
315
+ commit-db862c3 2009-02-14 made temporary restricted use license
316
+ commit-c88dafd 2009-02-14 working on merging of recurrence rules and recurrence lists changed date_list_value to occurrence_list_value changed rrule enumeration to take the component instead of just dtstart changed rrule enumeration to return a hash instead of just a date time recurrence lists can include durations which will produce occurrences with a different duration
317
+ commit-77e2ae7 2009-02-09 now ignoring doc and coverage directory contents
318
+ commit-8d6a377 2009-02-09 Added attribute definitions for alarm, freebusy, journal components. Added psuedo components with attribute definitions for timezone periods Added parsing of nested components
319
+ commit-9caede4 2009-02-06 removed dependency on activesupport
320
+ commit-5bb1234 2009-02-04 renamed ventity to component, and all components have natural names like Calendar, Event etc.
321
+ commit-da921cb 2009-02-04 some doc
322
+ commit-afb2c19 2009-02-04 removed name iv from property_value, no longer needed
323
+ commit-adca6e4 2009-02-04 added initial vtdodo_spec
324
+ commit-d689dba 2009-02-04 mend
325
+ commit-14aa04a 2009-02-04 added mutually exclusive property resetting
326
+ commit-84fcd0f 2009-02-04 added Vtodo class
327
+ commit-0af2362 2009-02-04 added GeoValue class
328
+ commit-dd4140a 2009-02-03 entities now have accessors for both properties and property values
329
+ commit-61e6e1f 2009-02-03 now using yml for attributes, generating rdoc for methods
330
+ commit-0399b4a 2009-02-02 methods for entities are now generated rather than dynamic, to facilitate rdoc
331
+ commit-5bff049 2009-02-02 checkpoint before destroying rb files
332
+ commit-dd45550 2009-02-02 normalized project file structure
333
+ commit-b3e0b1f 2009-01-29 multi-value attributes
334
+ commit-240f7b9 2009-01-29 added base spec for ri_cal
335
+ commit-eaeea93 2009-01-29 prepare to support multiple value attributes
336
+ commit-c6631b6 2009-01-26 fixed file hierarchy in spec directory so that autodetection works
337
+ commit-d5ae097 2009-01-23 all rrule examples in RFC 2445 passing
338
+ commit-fa0aa5e 2009-01-23 Every 20 mins...
339
+ commit-9dc12fe 2009-01-22 by setpos usecases working
340
+ commit-c70c0df 2009-01-20 passing use cases through the US presidential election case
341
+ commit-ee68068 2009-01-20 byday with yearly frequency working
342
+ commit-f94bf56 2009-01-19 YEARLY with by-month list now working
343
+ commit-3b8d540 2009-01-19 checkpoint working on YEARLY with by-month list
344
+ commit-7272868 2009-01-19 new enumeration algorithm, mostly working
345
+ commit-9f29fbf 2009-01-16 checkpoint - bit the bullet on using activesupport
346
+ commit-4700c34 2008-12-28 all frequencies, interval=1, next occurrence
347
+ commit-405701f 2008-12-28 partial implementation checkpoint
348
+ commit-c39ed77 2008-12-24 processing :value key in recurrence_rule initialization
349
+ commit-505eef7 2008-12-24 changed by_xxx symbols to just byxxx
350
+ commit-90209c6 2008-12-24 Refactored v_xx_property classes are now xx_value
351
+
352
+ commit-a8d309a 2008-12-24 added behavior and specs for recurring weekno rule part
353
+ commit-675ed10 2008-12-24 fixed wkstart calculations
354
+ commit-57b5f96 2008-12-24 checkpoint - initial week start calculations are broken
355
+ commit-dd1d01b 2008-12-24 refactored to move month length calculations to a module
356
+ commit-6aa0647 2008-12-24 added computational behavior and specs for recurring month days
357
+ commit-74bb450 2008-12-24 to_ical implementation for recurrence rules
358
+ commit-6d4b080 2008-12-24 all by_xxx rules can now be set on instantiation
359
+ commit-d5d4357 2008-12-24 refactored validation of recurrence rule
360
+ commit-6032e6b 2008-12-24 initial by_xxx rules
361
+ commit-6fe5e38 2008-12-24 checkpoint start on recurrence rule value
362
+ commit-7729195 2008-12-24 changed autotest config
363
+ commit-72df95d 2008-12-24 fixed up autotest configuration
364
+ commit-a046d04 2008-12-24 all vevent properties, I think
365
+ commit-667ecb7 2008-12-24 added recurrence rules; removed activesupport dependency
366
+ commit-f8c21d3 2008-12-24 refactored ventity to use metaprogramming for repetitive methods
367
+ commit-ac54c12 2008-12-24 checkpoint before doing some metaprogramming
368
+ commit-cc63304 2008-12-24 renamed project from rfc2445 to ri_cal
369
+ commit-7b19dac 2008-12-24 added correct expectation
370
+ commit-e37facc 2008-11-24 added initial support to generate a VTIMEZONE component from a TZInfo::Timezone
371
+ commit-35b0e26 2008-10-30 additional property types including integers, dates and date-times
372
+ commit-bbfe9fa 2008-10-29 refactored and added array property
373
+ commit-6319c5e 2008-10-28 some event properties
374
+ commit-8d0a528 2008-10-28 base calendar properties
375
+ commit-c12e67e 2008-10-27 initial commit
@@ -0,0 +1,24 @@
1
+ 0_5_0-0-g5d9f1ca
2
+ 0_5_1-0-gd78f4d9
3
+ 0_5_2-0-g4a3d30e
4
+ 0_5_3-0-g7036aac
5
+ 0_6_0-0-gb02493b
6
+ 0_6_1-0-g3b33116
7
+ 0_6_2-0-g3930187
8
+ 0_6_3-0-g9b5d3d3
9
+ 0_7_0-0-gf7d0c18
10
+ 0_7_1-0-g66babd7
11
+ 0_7_2-0-gb04b471
12
+ REL-0.7.4-0-g3fbfbc9
13
+ github0_0_11-0-g641c7dc
14
+ github0_0_7-0-gee59568
15
+ perf_harness-0-g9724c17
16
+ v0.7.5-0-gfb86ee0
17
+ v0.7.6-0-g880e8ac
18
+ v0.8.0-0-g128d820
19
+ v0.8.1-0-g5d8a2fb
20
+ v0.8.2-0-g46bb5d1
21
+ v0.8.3-0-g465b033
22
+ v0.8.4-0-g4f60020
23
+ v0.8.6-0-g8d021f1
24
+ v0.8.7-0-g2dbcdf8
@@ -0,0 +1,24 @@
1
+ 0_5_0
2
+ 0_5_1
3
+ 0_5_2
4
+ 0_5_3
5
+ 0_6_0
6
+ 0_6_1
7
+ 0_6_2
8
+ 0_6_3
9
+ 0_7_0
10
+ 0_7_1
11
+ 0_7_2
12
+ REL-0.7.4
13
+ github0_0_11
14
+ github0_0_7
15
+ perf_harness
16
+ v0.7.5
17
+ v0.7.6
18
+ v0.8.0
19
+ v0.8.1
20
+ v0.8.2
21
+ v0.8.3
22
+ v0.8.4
23
+ v0.8.6
24
+ v0.8.7
@@ -0,0 +1,399 @@
1
+ === v0.8.8 2010-04-21
2
+ change rakefile to use ad_agency
3
+ === v0.8.7 2010-04-16
4
+ Regenerated gemspec for version 0.8.7
5
+ update history
6
+ Version bump to 0.8.7
7
+ fix tickets #29-supress x-rical-tzsource when not relevant
8
+ === v0.8.6 2010-04-15
9
+ Regenerated gemspec for version 0.8.6
10
+ update history prior to release
11
+ Version bump to 0.8.6
12
+ fix tzinfo timezone export
13
+ force change managment datetimes to zulu time
14
+ added ZuluDateTime property for use by change management properties
15
+ parked a spec
16
+ Convert to jeweler
17
+ Version bump to 0.8.5
18
+ remove unneeeded Date#to_time and DateTime#to_time methods
19
+ remove inf loop spec temporarily
20
+ Working on a bug where a recurrence rule with simple by-parts caused an infinite loop See spec/ri_cal/inf_loop_spec
21
+
22
+ Although the reported bug is fixed there is still work to do because giving an event a dtstart
23
+ not within the recurrence rule produces incorrect output.
24
+
25
+ 1) 'an event with unneeded by parts with a dtstart outside the recurrence rule should enumerate 10 events first July 12, 1940, July 13, 1940, July 13, 1941 when count is 3' FAILED
26
+ expected: ["1940-07-12", "1940-07-13", "1941-07-13"],
27
+ got: ["1940-07-12", "1940-07-13", "1941-07-12"] (using ==)
28
+
29
+ I'm going to push this to github, but not release a new gem version until I can fix this latter bug.
30
+
31
+ fixed infinite loop bug for reported case
32
+ website and gemspec
33
+ Fixed Ticket #26, failing with date values for event dtstart and dtend
34
+ updated website
35
+ === v0.8.4 2009-09-18
36
+ fixed gemspec problem
37
+ === v0.8.3 2009-09-18
38
+ prepared to publish
39
+ refactored occurrence incrementers
40
+ checkpoint
41
+ changed ri_cal.rb to autoload
42
+ changed ri_cal.rb to autoload
43
+ === v0.8.2 2009-09-05
44
+ another attempt to trigger github to rebuild
45
+ fixed gem version so github should now build
46
+ Fixes http://rick_denatale.lighthouseapp.com/projects/30941/tickets/23 initialization_methodsrb-syntax Fixes http://rick_denatale.lighthouseapp.com/projects/30941/tickets/24 need-to-handle-empty-property-values
47
+ fixed ticket #23
48
+ adopted patch from ebigart
49
+ Support properties with no value (e.g. 'LOCATION;LANGUAGE=en-US:' gets generated using Outlook)
50
+ === v0.8.1 2009-08-18
51
+ Fixes http://rick_denatale.lighthouseapp.com/projects/30941/tickets/21 exception-when-count-option-used-to-enumerate-non-recurring-event
52
+ === v0.8.0 2009-08-11
53
+ Minor Version Bump - There is a small potentially breaking change see section on treatment of X-properties below * Unknown Components
54
+
55
+ Starting with version 0.8.0 RiCal will parse calendars and components which contain nonstandard components.
56
+
57
+ For example, there was a short-lived proposal to extend RFC2445 with a new VVENUE component which would hold structured information about the location of an event. This proposal was never accepted and was withdrawn, but there is icalendar data in the wild which contains VVENUE components.
58
+
59
+ Prior to version 0.8.0, RiCal would raise an exception if unknown component types were encountered. Starting with version 0.8.0 RiCal will 'parse' such components and create instances of NonStandard component to represent them. Since the actual format of unknown components is not known by RiCal, the NonStandard component will simply save the data lines between the BEGIN:xxx and END:xxx lines, (where xxx is the non-standard component name, e.g. VVENUE). If the calendar is re-exported the original lines will be replayed.
60
+
61
+ * Change to treatment of X-properties
62
+
63
+ RFC2445 allows 'non-standard' or experimental properties which property-names beginning with X. RiCal always supported parsing these.
64
+
65
+ The standard properties are specified as to how many times they can occur within a particular component. For singly occurring properties RiCal returns a single property object, while for properties which can occur multiple times RiCal returns an array of property objects.
66
+
67
+ While implementing NonStandard properties, I realized that X-properties were being assumed to be singly occurring. But this isn't necessarily true. So starting with 0.8.0 the X-properties are represented by an array of property objects.
68
+
69
+ THIS MAY BREAK SOME APPLICATIONS, but the adaptation should be easy.
70
+
71
+ - No changes other than a version number bump. github seems to have failed to notice the commit of v0.7.6
72
+ and didn't build the gem. Hopefully it will notice this one.
73
+
74
+ === v0.7.6 2009-08-06
75
+ Version 0.7.6 - Fixes http://rick_denatale.lighthouseapp.com/projects/30941/tickets/20 RiCal::PropertyValue::Period was returning a nil ruby value.
76
+ Version 0.7.6 - Fixes http://rick_denatale.lighthouseapp.com/projects/30941/tickets/20 RiCal::PropertyValue::Period was returning a nil ruby value.
77
+ checkpoint before regen
78
+ === v0.7.5 2009-08-03
79
+ Merge commit 'origin/master'
80
+ fixed http://rick_denatale.lighthouseapp.com/projects/30941/tickets/19 Microsoft ical exports double quote tzid values in parameters, which caused a failure to find VTIMEZONES
81
+ This exposed an issue with parameter parsing.
82
+
83
+ fixed http://rick_denatale.lighthouseapp.com/projects/30941/tickets/19 Microsoft ical exports double quote tzid values in parameters, which caused a failure to find VTIMEZONES
84
+ This exposed an issue with parameter parsing.
85
+
86
+ updated website
87
+ Oops forgot to update gemspec
88
+ release 0.7.4
89
+ fix alarm trigger
90
+ added pointer to rdoc in README
91
+ === 0_7_2 2009-07-06
92
+ updated to use newest versions of newgem and hoe, in order to make run-code-run work again
93
+ updated to use newest versions of newgem and hoe, in order to make run-code-run work again
94
+ === 0_7_1 2009-07-06
95
+ * fixed http://rick_denatale.lighthouseapp.com/projects/30941/tickets/15 duration validation issues * fixed http://rick_denatale.lighthouseapp.com/projects/30941/tickets/16 event finish_time loses timezone info when event has a dtstart and duration
96
+ === 0_7_0 2009-06-29
97
+ * fixed http://rick_denatale.lighthouseapp.com/projects/30941/tickets/14 component without recurrence properties should enumerate just itself only if it is within the period between starting and before * added the :overlapping option to OccurrenceEnumerator#occurrences - Allows the enumeration of occurrences which are either partiall or completely within a timespan given by a pair of Dates/Times/DateTimes * Fixed some Ruby 1.9 incompatibilities * Added some new rake tasks to run specs under multi-ruby
98
+ fixes http://rick_denatale.lighthouseapp.com/projects/30941/tickets/14 component-without-recurrence-properties-should-enumerate-just-itself-only-if-it-is-within-the-period-between-starting-and-before
99
+
100
+ Made the test rake task a no-op since we only have specs not tests Cleaned up syntax warnings in two specs using here doc strings
101
+
102
+ === 0_6_3 2009-06-14
103
+ * Fixed http://rick_denatale.lighthouseapp.com/projects/30941-ri_cal/tickets/13 tzinfotimezones-with-no-transitions-fail-on-export
104
+ === 0_6_2 2009-06-11
105
+ * Fixed http://rick_denatale.lighthouseapp.com/projects/30941-ri_cal/tickets/12 export-failure-for-unbounded-tzinfo-timezone
106
+ === 0_6_1 2009-06-07
107
+ * Fixed problem with file which loads activesupport for the rake spec:with_activesupport task, it now requires >=2.2 instead of <=2.2 - Thanks to Paul Scott-Murphy for finding this.
108
+ fixed gem version requirement in tasks/gem_loader/load_active_support.rb
109
+ === 0_6_0 2009-06-05
110
+ Time for a minor version bump. * Improved overall enumeration performance bypassing most of the effects of the poor performance of Ruby's DateTime class. * Added a framework for performance monitoring during development. - New performance directory with subdirs for code to be monitored for performance (subjects) - New script files: script/benchmark_subject runs a ruby benchmark on one performance subject script/profile_subject runs ruby-prof for a subject and puts a kcachegrind compatible calltree in the performance_data directory. - New rake tasks: performance:benchmark runs benchmarks against all subjects in the performance directory and produces a consolidated output file in performance_data/benchmarks.out performance:profile runs script/profile_subject against all subjects in the performance directory.
111
+ === perf_harness 2009-06-05
112
+ performance harness
113
+ changed profile3 to output kcachegrind compatible output
114
+ === 0_5_3 2009-06-01
115
+ version 0.5.3
116
+ ready to merge
117
+ timezone period now caching occurrences
118
+ experiment with caching rationals in the RiCal module
119
+ added reset of caches
120
+ Easy performance improvement for occurrence enumeration
121
+ changes to rakefile - trying to make rake release work
122
+ === 0_5_2 2009-05-28
123
+ Version 0.5.2
124
+ Fixed [\#11 state:resolved]
125
+ === 0_5_1 2009-05-26
126
+ fix README to acknowledge release on RubyForge
127
+ === 0_5_0 2009-05-26
128
+ version 0.5.0 rubyforge release candidate
129
+ after generator change
130
+ === github0_0_11 2009-05-23
131
+ updated version to 0.0.11
132
+ Fixes [\#5 state:resolved milestone:"0.0.11"]
133
+ Fixed [\#9 state:resolved milestone:"0.0.11"]
134
+ Fixed bug [\#8 tagged:committed state:resolved]
135
+ fixed [\#4 \#6 state:committed]
136
+ Fixed bugs [\#4 \#6 state:committed]
137
+ fixed [\#1] tagged:committed fixed [\#2] tagged:committed fixed [\#3] tagged:committed
138
+ === github0_0_7 2009-05-18
139
+ gemspec for 0.0.7
140
+ Documentation updates
141
+ fixed problem with TimeWithZone
142
+ updated gemspec
143
+ new rake tasks to run specs with tzinfo or activesupport
144
+ fixed an occurrence enumeration bug reported by paulsm on github
145
+ fixed bug in imported timezones
146
+ fixed bug reported by paulsm via github
147
+ fixed manifest to remove .ackrc
148
+ new gemspec
149
+ removed rubigen include from Rakefile, since it pulls in activesupport
150
+ doc cleanup
151
+ doc cleanup
152
+ rationalized namespaces of Datetime property modules
153
+ finished string conversion specs
154
+ synced copyrights
155
+ added spec for string conversion to datetime
156
+ added specs for multiply occuring property example
157
+ checkpoint after generator change
158
+ implement OccurrenceEnumerator :starting option fix so that :before and :starting actually accept Date,Time or DateTime instances as arguments by converting occurrence[:start].to_datetime before comparing against :starting or :before
159
+ checkpoint
160
+ ruby values of datetime props now have tzids and proper utc-offsets
161
+ fixed bug where RiCal::PropertyValue::Duration.from_datetime would fail when start > finish
162
+ regenerated
163
+ checkpoint after generator change
164
+ checkpoint before generator change
165
+ Merge branch 'master' of git://github.com/wesmaldonado/ri_cal
166
+ RiCal::PropertyValue::DateTime.default_tzid can be set.
167
+ added OcurrenceList.occurrence_list_property_from_string
168
+ added timezone detection to occurence list convert
169
+ regenarated properties
170
+ checkpoint after changing generator
171
+ resync version number between ri_cal.rb and gemspec
172
+ fixed manifest removed uncommitted occurrence_list_spec
173
+ updated manifest and gemspec
174
+ updated readme for github unofficial release
175
+ fixed export of x_property
176
+ checkpoint changed generation
177
+ fixed problem with array input to datetime properties not using ::Array for check
178
+ doc cleanup
179
+ checkpoint after change to generator
180
+ checkpoint before generator change
181
+ fixed manifest
182
+ DATETIME properties can now also take an array with a time and a time zone identifier as a value
183
+ merge
184
+ added in_time_zone method to DateTime property
185
+ calendar now responsible for flagging tzinfo source
186
+ refactored DateTime property value class -- finally
187
+ .utc working for imported datetimes
188
+ working on timezone conversions for datetime property
189
+ fixed problem with count in recurrence rule
190
+ Merge branch 'master' of ssh://git@denhaven2.com/home/git/repositories/ri_cal
191
+ added more tzinfo timezone compat specs
192
+ fixed issue with active support time zones
193
+ fixed gem generation issues
194
+ fixed gem generation issues
195
+ changed unneeded around_local back to last_before_local
196
+ timezone checking for ambiguous/invalid local times
197
+ checkpoint
198
+ changed parent_component to timezone_finder
199
+ checkpoint before renaming parent_component to timezone_finder
200
+ checkpoint before regeneration
201
+ checkpoint before regeneration
202
+ fixed export to fold long output lines
203
+ added adams builder patch and code that ensued
204
+ added second style of component initialization block
205
+ ruby 1.9 compatibility
206
+ more doc
207
+ working on docs
208
+ working on doc
209
+ component build seems to be working
210
+ checkpoint before applying new rake task change
211
+ prior to regeneration - added new methods to the rake task for multiple value properties
212
+ added some doc to readme
213
+ added support for times with floating time zones
214
+ component export datetime and date now formatting correctly
215
+ fixed tzinfo_timezone spec
216
+ export event 1 spec fails
217
+ checkpoint before regeneration
218
+ generated properties
219
+ changed ri_cal rake task to generate add_date_times_to(required_timezones) method
220
+ added classes to accumulate require timezones for export
221
+ dead code elimination
222
+ removed debugging output
223
+ all specs passing, need to remove debugging output
224
+ recurrence rule spec passing
225
+ checkpoint, about to combine byday, bymonthday, and byyearday incrementers
226
+ checkpoint
227
+ checkpoint
228
+ checkpoint
229
+ checkpoint
230
+ checkpoint
231
+ checkpoint
232
+ checkpoint before moving by rules checks
233
+ specs passing, but some missing
234
+ checkpoint
235
+ tabled experiment
236
+ taught the text property how to deal with escaped characters
237
+ checkpoint
238
+ checkpoint
239
+ checkpoint before moving by rules checks
240
+ specs passing, but some missing
241
+ checkpoint
242
+ tabled experiment
243
+ added copyright task
244
+ merged timezone_calcs
245
+ initial timezone enumeration working
246
+ changed tzinfo to emit one period each for standard and daylight
247
+ changed tzinfo to emit one period each for standard and daylight
248
+ changed rdoc to darkfish format, took doc directory out of .gitignore
249
+ Merge branch 'occurrence_enumeration' Conflicts:
250
+ .gitignore
251
+ README.txt
252
+ Rakefile
253
+ component_attributes/component_property_defs.yml
254
+ lib/ri_cal.rb
255
+ lib/ri_cal/component.rb
256
+ lib/ri_cal/parser.rb
257
+ lib/ri_cal/property_value.rb
258
+ spec/ri_cal/parser_spec.rb
259
+ spec/ri_cal/property_value_spec.rb
260
+ spec/spec_helper.rb
261
+ tasks/ri_cal.rake
262
+
263
+ Prepared for limited release Lots of Doc
264
+
265
+ Refactored validations out of recurrence rule
266
+
267
+ occurrence enumeration producing hashes
268
+ Moved inner classes inside RecurrenceRule to separate files
269
+ Refactored to put components inside the Component class
270
+ Refactored for modularity - put value classes inside PropertyValue class, renamed so e.g. DurationValue is now PropertyValue::Duration
271
+ moved calculations to date/time/datetime
272
+ moved nth weekday predicates to Ruby time/date/datetime
273
+ file restructuring
274
+ Added specs and behavior for: date_time_value
275
+ calculations such as subtraction to produce a duration, and addition and subtraction of a duration
276
+ duration_value
277
+ period_value
278
+
279
+ used autoload to preload some classes/modules
280
+ refactored to put generated component property methods in separate modules
281
+ now ignoring doc and coverage directory contents
282
+ Added attribute definitions for alarm, freebusy, journal components. Added psuedo components with attribute definitions for timezone periods Added parsing of nested components
283
+ removed dependency on activesupport
284
+ renamed ventity to component, and all components have natural names like Calendar, Event etc.
285
+ removed name iv from property_value, no longer needed
286
+ added initial vtdodo_spec
287
+ mend
288
+ added mutually exclusive property resetting
289
+ added Vtodo class
290
+ added GeoValue class
291
+ entities now have accessors for both properties and property values
292
+ now using yml for attributes, generating rdoc for methods
293
+ methods for entities are now generated rather than dynamic, to facilitate rdoc
294
+ checkpoint before destroying rb files
295
+ normalized project file structure
296
+ multi-value attributes
297
+ added base spec for ri_cal
298
+ prepare to support multiple value attributes
299
+ fixed file hierarchy in spec directory so that autodetection works
300
+ all rrule examples in RFC 2445 passing
301
+ Every 20 mins...
302
+ by setpos usecases working
303
+ passing use cases through the US presidential election case
304
+ byday with yearly frequency working
305
+ YEARLY with by-month list now working
306
+ checkpoint working on YEARLY with by-month list
307
+ new enumeration algorithm, mostly working
308
+ checkpoint - bit the bullet on using activesupport
309
+ all frequencies, interval=1, next occurrence
310
+ partial implementation checkpoint
311
+ processing :value key in recurrence_rule initialization
312
+ changed by_xxx symbols to just byxxx
313
+ Refactored v_xx_property classes are now xx_value
314
+
315
+ added behavior and specs for recurring weekno rule part
316
+ fixed wkstart calculations
317
+ checkpoint - initial week start calculations are broken
318
+ refactored to move month length calculations to a module
319
+ added computational behavior and specs for recurring month days
320
+ to_ical implementation for recurrence rules
321
+ all by_xxx rules can now be set on instantiation
322
+ refactored validation of recurrence rule
323
+ initial by_xxx rules
324
+ checkpoint start on recurrence rule value
325
+ changed autotest config
326
+ fixed up autotest configuration
327
+ all vevent properties, I think
328
+ added recurrence rules; removed activesupport dependency
329
+ refactored ventity to use metaprogramming for repetitive methods
330
+ checkpoint before doing some metaprogramming
331
+ renamed project from rfc2445 to ri_cal
332
+ added correct expectation
333
+ added initial support to generate a VTIMEZONE component from a TZInfo::Timezone
334
+ additional property types including integers, dates and date-times
335
+ refactored and added array property
336
+ some event properties
337
+ base calendar properties
338
+ initial commit
339
+ made temporary restricted use license
340
+ working on merging of recurrence rules and recurrence lists changed date_list_value to occurrence_list_value changed rrule enumeration to take the component instead of just dtstart changed rrule enumeration to return a hash instead of just a date time recurrence lists can include durations which will produce occurrences with a different duration
341
+ now ignoring doc and coverage directory contents
342
+ Added attribute definitions for alarm, freebusy, journal components. Added psuedo components with attribute definitions for timezone periods Added parsing of nested components
343
+ removed dependency on activesupport
344
+ renamed ventity to component, and all components have natural names like Calendar, Event etc.
345
+ some doc
346
+ removed name iv from property_value, no longer needed
347
+ added initial vtdodo_spec
348
+ mend
349
+ added mutually exclusive property resetting
350
+ added Vtodo class
351
+ added GeoValue class
352
+ entities now have accessors for both properties and property values
353
+ now using yml for attributes, generating rdoc for methods
354
+ methods for entities are now generated rather than dynamic, to facilitate rdoc
355
+ checkpoint before destroying rb files
356
+ normalized project file structure
357
+ multi-value attributes
358
+ added base spec for ri_cal
359
+ prepare to support multiple value attributes
360
+ fixed file hierarchy in spec directory so that autodetection works
361
+ all rrule examples in RFC 2445 passing
362
+ Every 20 mins...
363
+ by setpos usecases working
364
+ passing use cases through the US presidential election case
365
+ byday with yearly frequency working
366
+ YEARLY with by-month list now working
367
+ checkpoint working on YEARLY with by-month list
368
+ new enumeration algorithm, mostly working
369
+ checkpoint - bit the bullet on using activesupport
370
+ all frequencies, interval=1, next occurrence
371
+ partial implementation checkpoint
372
+ processing :value key in recurrence_rule initialization
373
+ changed by_xxx symbols to just byxxx
374
+ Refactored v_xx_property classes are now xx_value
375
+
376
+ added behavior and specs for recurring weekno rule part
377
+ fixed wkstart calculations
378
+ checkpoint - initial week start calculations are broken
379
+ refactored to move month length calculations to a module
380
+ added computational behavior and specs for recurring month days
381
+ to_ical implementation for recurrence rules
382
+ all by_xxx rules can now be set on instantiation
383
+ refactored validation of recurrence rule
384
+ initial by_xxx rules
385
+ checkpoint start on recurrence rule value
386
+ changed autotest config
387
+ fixed up autotest configuration
388
+ all vevent properties, I think
389
+ added recurrence rules; removed activesupport dependency
390
+ refactored ventity to use metaprogramming for repetitive methods
391
+ checkpoint before doing some metaprogramming
392
+ renamed project from rfc2445 to ri_cal
393
+ added correct expectation
394
+ added initial support to generate a VTIMEZONE component from a TZInfo::Timezone
395
+ additional property types including integers, dates and date-times
396
+ refactored and added array property
397
+ some event properties
398
+ base calendar properties
399
+ initial commit
@@ -0,0 +1,56 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+ require 'lib/ad_agency/history.rb'
3
+ require 'yaml'
4
+
5
+ describe "History" do
6
+
7
+ def fixture_file(name)
8
+ File.expand_path(File.dirname(__FILE__) + "/fixture_data/#{name}")
9
+ end
10
+
11
+ before(:all) do
12
+ @example_tag_descriptor = {}
13
+ File.readlines(fixture_file('example_tag_descriptors')).each do |line|
14
+ if /^([^-]+)-\d+-g/ =~ line
15
+ @example_tag_descriptor[$1] = line
16
+ end
17
+ end
18
+ @example_tags = File.readlines(fixture_file('example_tags')).map {|line| line.chomp}
19
+ @example_log = File.readlines(fixture_file('example_gitlog'))
20
+ @expected_history = File.read(fixture_file('expected_history.txt'))
21
+ end
22
+
23
+ describe "#tag_and_commit" do
24
+ AdAgency::History.new.tag_and_commit("v0.8.7-0-g2dbcdf8").should == [
25
+ "v0.8.7",
26
+ "2dbcdf8"
27
+ ]
28
+ end
29
+
30
+ describe "#generate" do
31
+ before(:each) do
32
+ @it = AdAgency::History.new
33
+ @output = StringIO.new
34
+ @it.stub(:git_tags).and_return(["v0.8.7"])
35
+ @it.stub(:git_log).and_return([])
36
+ @it.stub(:get_current_version).and_return("0.8.8")
37
+ Date.stub(:today).and_return(Date.parse("20100421"))
38
+ end
39
+
40
+ it "should produce a map of commits to tags" do
41
+ @it.stub(:git_describe).and_return("v0.8.7-0-g2dbcdf8")
42
+ @it.generate(@output)
43
+ @it.tag_for_commit.should == {"2dbcdf8" => "v0.8.7"}
44
+ end
45
+
46
+ it "should produce the correct output" do
47
+ @it.stub(:git_tags).and_return(@example_tags)
48
+ @it.stub(:git_log).and_return(@example_log)
49
+ @it.stub(:git_describe) do |tag|
50
+ @example_tag_descriptor[tag]
51
+ end
52
+ @it.generate(@output)
53
+ @output.string.should == @expected_history
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,48 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+ require 'lib/ad_agency/print_shop.rb'
3
+
4
+ describe "PrintShop.print_ad" do
5
+ before(:each) do
6
+ AdAgency::PrintShop.stub(:get_version).and_return(@version = "1.1.2")
7
+ @spec = double(
8
+ :name => (@gem_name = "30 Carat Ruby"),
9
+ :summary => (@summary = "a terse summary"),
10
+ :description => (@description = "Brilliant prose")
11
+ )
12
+ end
13
+
14
+ context "with a history file" do
15
+ before(:each) do
16
+ AdAgency::PrintShop.stub(:history_file?).and_return(true)
17
+ @relevant_history_lines = [
18
+ "untagged change",
19
+ "== v1.1.1",
20
+ " some change",
21
+ " another change",
22
+ "== v1.1.0",
23
+ " new minor version"
24
+ ]
25
+ @hist_lines = @relevant_history_lines + [
26
+ "== v1.0.0",
27
+ " initial release"
28
+ ]
29
+ AdAgency::PrintShop.stub(:history_lines).and_return(@hist_lines)
30
+ end
31
+
32
+ it "should output the changes since the last minor version" do
33
+ outfile = StringIO.new
34
+ AdAgency::PrintShop.print_ad(@spec, outfile)
35
+ outfile.string.should == [
36
+ "Announcing #{@gem_name} version #{@version}",
37
+ @summary,
38
+ "",
39
+ @description,
40
+ "",
41
+ "Changes:",
42
+ "",
43
+ @relevant_history_lines.join("\n"),
44
+ ""
45
+ ].join("\n")
46
+ end
47
+ end
48
+ end
data/spec/spec.opts ADDED
@@ -0,0 +1 @@
1
+ --color
@@ -0,0 +1,8 @@
1
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
2
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
+ require 'spec'
4
+ require 'spec/autorun'
5
+
6
+ Spec::Runner.configure do |config|
7
+
8
+ end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 0
9
- version: 0.1.0
8
+ - 1
9
+ version: 0.1.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Rick DeNatale
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-04-17 00:00:00 -04:00
17
+ date: 2010-04-21 00:00:00 -04:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -52,6 +52,16 @@ files:
52
52
  - Rakefile
53
53
  - VERSION
54
54
  - lib/ad_agency.rb
55
+ - lib/ad_agency/history.rb
56
+ - lib/ad_agency/print_shop.rb
57
+ - spec/fixture_data/example_gitlog
58
+ - spec/fixture_data/example_tag_descriptors
59
+ - spec/fixture_data/example_tags
60
+ - spec/fixture_data/expected_history.txt
61
+ - spec/history_spec.rb
62
+ - spec/print_shop_spec.rb
63
+ - spec/spec.opts
64
+ - spec/spec_helper.rb
55
65
  has_rdoc: true
56
66
  homepage: http://github.com/rubyredrick/ad_agency
57
67
  licenses: []
@@ -82,5 +92,7 @@ rubygems_version: 1.3.6
82
92
  signing_key:
83
93
  specification_version: 3
84
94
  summary: An extension to Jeweler for generating announcements
85
- test_files: []
86
-
95
+ test_files:
96
+ - spec/history_spec.rb
97
+ - spec/print_shop_spec.rb
98
+ - spec/spec_helper.rb