summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/models/occurrence.rb14
-rw-r--r--db/migrate/20090318203913_add_location_to_event.rb9
-rw-r--r--db/migrate/20090318212438_remove_summary_column_from_occurrences.rb9
-rw-r--r--test/unit/event_test.rb4
4 files changed, 28 insertions, 8 deletions
diff --git a/app/models/occurrence.rb b/app/models/occurrence.rb
index 6205618..4a5f64a 100644
--- a/app/models/occurrence.rb
+++ b/app/models/occurrence.rb
@@ -25,13 +25,11 @@ class Occurrence < ActiveRecord::Base
25 self.delete_all(:event_id => event.id) 25 self.delete_all(:event_id => event.id)
26 26
27 node = event.node 27 node = event.node
28 summary = node.head.title
29 duration = (event.end_time - event.start_time) 28 duration = (event.end_time - event.start_time)
30 occurrences = self.generate_dates(event) 29 occurrences = self.generate_dates(event)
31 30
32 occurrences.each do |occurrence| 31 occurrences.each do |occurrence|
33 self.create( 32 self.create(
34 :summary => summary,
35 :start_time => occurrence, 33 :start_time => occurrence,
36 :end_time => (occurrence + duration), 34 :end_time => (occurrence + duration),
37 :node_id => node.id, 35 :node_id => node.id,
@@ -48,8 +46,8 @@ class Occurrence < ActiveRecord::Base
48 def self.generate_dates event 46 def self.generate_dates event
49 if event.rrule 47 if event.rrule
50 Ical_occurrences::occurrences( 48 Ical_occurrences::occurrences(
51 event.start_time.utc.iso8601, 49 event.start_time,
52 (Time.now + 5.years).utc.iso8601, 50 (Time.now + 5.years),
53 event.rrule 51 event.rrule
54 ) 52 )
55 else 53 else
@@ -57,4 +55,12 @@ class Occurrence < ActiveRecord::Base
57 end 55 end
58 56
59 end 57 end
58
59
60 # Instance Methods
61
62 def summary
63 node.head.title
64 end
65
60end 66end
diff --git a/db/migrate/20090318203913_add_location_to_event.rb b/db/migrate/20090318203913_add_location_to_event.rb
new file mode 100644
index 0000000..5345781
--- /dev/null
+++ b/db/migrate/20090318203913_add_location_to_event.rb
@@ -0,0 +1,9 @@
1class AddLocationToEvent < ActiveRecord::Migration
2 def self.up
3 add_column :events, :location, :text
4 end
5
6 def self.down
7 remove_column :events, :location
8 end
9end
diff --git a/db/migrate/20090318212438_remove_summary_column_from_occurrences.rb b/db/migrate/20090318212438_remove_summary_column_from_occurrences.rb
new file mode 100644
index 0000000..7110987
--- /dev/null
+++ b/db/migrate/20090318212438_remove_summary_column_from_occurrences.rb
@@ -0,0 +1,9 @@
1class RemoveSummaryColumnFromOccurrences < ActiveRecord::Migration
2 def self.up
3 remove_column :occurrences, :summary
4 end
5
6 def self.down
7 add_column :occurrences, :summary, :string
8 end
9end
diff --git a/test/unit/event_test.rb b/test/unit/event_test.rb
index 8d51b1a..78e082c 100644
--- a/test/unit/event_test.rb
+++ b/test/unit/event_test.rb
@@ -52,7 +52,6 @@ class EventTest < ActiveSupport::TestCase
52 assert_equal 1, Occurrence.count 52 assert_equal 1, Occurrence.count
53 assert_equal event.start_time, Occurrence.first.start_time 53 assert_equal event.start_time, Occurrence.first.start_time
54 assert_equal event.end_time, Occurrence.first.end_time 54 assert_equal event.end_time, Occurrence.first.end_time
55 assert_equal @cal_node.head.title, Occurrence.first.summary
56 end 55 end
57 56
58 test 'create day event with weekly reoccurrence and checking data' do 57 test 'create day event with weekly reoccurrence and checking data' do
@@ -76,19 +75,16 @@ class EventTest < ActiveSupport::TestCase
76 75
77 assert_equal "2009-12-24T15:23:42".to_time, scoped_occurrences[51].start_time 76 assert_equal "2009-12-24T15:23:42".to_time, scoped_occurrences[51].start_time
78 assert_equal "2009-12-24T20:05:23".to_time, scoped_occurrences[51].end_time 77 assert_equal "2009-12-24T20:05:23".to_time, scoped_occurrences[51].end_time
79 assert_equal "99C3", scoped_occurrences[51].summary
80 assert_equal @cal_node.event, scoped_occurrences[51].event 78 assert_equal @cal_node.event, scoped_occurrences[51].event
81 assert_equal @cal_node, scoped_occurrences[51].node 79 assert_equal @cal_node, scoped_occurrences[51].node
82 80
83 assert_equal "2009-03-19T15:23:42".to_time, scoped_occurrences[11].start_time 81 assert_equal "2009-03-19T15:23:42".to_time, scoped_occurrences[11].start_time
84 assert_equal "2009-03-19T20:05:23".to_time, scoped_occurrences[11].end_time 82 assert_equal "2009-03-19T20:05:23".to_time, scoped_occurrences[11].end_time
85 assert_equal "99C3", scoped_occurrences[11].summary
86 assert_equal @cal_node.event, scoped_occurrences[11].event 83 assert_equal @cal_node.event, scoped_occurrences[11].event
87 assert_equal @cal_node, scoped_occurrences[11].node 84 assert_equal @cal_node, scoped_occurrences[11].node
88 85
89 assert_equal "2009-01-01T15:23:42".to_time, scoped_occurrences[0].start_time 86 assert_equal "2009-01-01T15:23:42".to_time, scoped_occurrences[0].start_time
90 assert_equal "2009-01-01T20:05:23".to_time, scoped_occurrences[0].end_time 87 assert_equal "2009-01-01T20:05:23".to_time, scoped_occurrences[0].end_time
91 assert_equal "99C3", scoped_occurrences[0].summary
92 assert_equal @cal_node.event, scoped_occurrences[11].event 88 assert_equal @cal_node.event, scoped_occurrences[11].event
93 assert_equal @cal_node, scoped_occurrences[11].node 89 assert_equal @cal_node, scoped_occurrences[11].node
94 end 90 end