From c9b6c014a7ff023107166f3fc8fcfe3e667a7adb Mon Sep 17 00:00:00 2001 From: hukl Date: Wed, 18 Mar 2009 22:26:46 +0100 Subject: add missing location column to events. removed summary column from summary - we try joins instead. we can always fallback if it turns out to be a stupid idea. added proper migrations --- app/models/occurrence.rb | 14 ++++++++++---- db/migrate/20090318203913_add_location_to_event.rb | 9 +++++++++ ...0090318212438_remove_summary_column_from_occurrences.rb | 9 +++++++++ test/unit/event_test.rb | 4 ---- 4 files changed, 28 insertions(+), 8 deletions(-) create mode 100644 db/migrate/20090318203913_add_location_to_event.rb create mode 100644 db/migrate/20090318212438_remove_summary_column_from_occurrences.rb 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 self.delete_all(:event_id => event.id) node = event.node - summary = node.head.title duration = (event.end_time - event.start_time) occurrences = self.generate_dates(event) occurrences.each do |occurrence| self.create( - :summary => summary, :start_time => occurrence, :end_time => (occurrence + duration), :node_id => node.id, @@ -48,8 +46,8 @@ class Occurrence < ActiveRecord::Base def self.generate_dates event if event.rrule Ical_occurrences::occurrences( - event.start_time.utc.iso8601, - (Time.now + 5.years).utc.iso8601, + event.start_time, + (Time.now + 5.years), event.rrule ) else @@ -57,4 +55,12 @@ class Occurrence < ActiveRecord::Base end end + + + # Instance Methods + + def summary + node.head.title + end + 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 @@ +class AddLocationToEvent < ActiveRecord::Migration + def self.up + add_column :events, :location, :text + end + + def self.down + remove_column :events, :location + end +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 @@ +class RemoveSummaryColumnFromOccurrences < ActiveRecord::Migration + def self.up + remove_column :occurrences, :summary + end + + def self.down + add_column :occurrences, :summary, :string + end +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 assert_equal 1, Occurrence.count assert_equal event.start_time, Occurrence.first.start_time assert_equal event.end_time, Occurrence.first.end_time - assert_equal @cal_node.head.title, Occurrence.first.summary end test 'create day event with weekly reoccurrence and checking data' do @@ -76,19 +75,16 @@ class EventTest < ActiveSupport::TestCase assert_equal "2009-12-24T15:23:42".to_time, scoped_occurrences[51].start_time assert_equal "2009-12-24T20:05:23".to_time, scoped_occurrences[51].end_time - assert_equal "99C3", scoped_occurrences[51].summary assert_equal @cal_node.event, scoped_occurrences[51].event assert_equal @cal_node, scoped_occurrences[51].node assert_equal "2009-03-19T15:23:42".to_time, scoped_occurrences[11].start_time assert_equal "2009-03-19T20:05:23".to_time, scoped_occurrences[11].end_time - assert_equal "99C3", scoped_occurrences[11].summary assert_equal @cal_node.event, scoped_occurrences[11].event assert_equal @cal_node, scoped_occurrences[11].node assert_equal "2009-01-01T15:23:42".to_time, scoped_occurrences[0].start_time assert_equal "2009-01-01T20:05:23".to_time, scoped_occurrences[0].end_time - assert_equal "99C3", scoped_occurrences[0].summary assert_equal @cal_node.event, scoped_occurrences[11].event assert_equal @cal_node, scoped_occurrences[11].node end -- cgit v1.3