diff options
| -rw-r--r-- | app/models/occurrence.rb | 14 | ||||
| -rw-r--r-- | db/migrate/20090318203913_add_location_to_event.rb | 9 | ||||
| -rw-r--r-- | db/migrate/20090318212438_remove_summary_column_from_occurrences.rb | 9 | ||||
| -rw-r--r-- | test/unit/event_test.rb | 4 |
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 | |||
| 60 | end | 66 | end |
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 @@ | |||
| 1 | class 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 | ||
| 9 | end | ||
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 @@ | |||
| 1 | class 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 | ||
| 9 | end | ||
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 |
