event_calendar_engine 0.1.8 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.8
1
+ 0.1.9
@@ -46,7 +46,9 @@ class EventsController < EventCalendar::ApplicationController
46
46
  if params[:start] && params[:end]
47
47
  @events = Event.between(Time.at(params[:start].to_i), Time.at(params[:end].to_i))
48
48
  else
49
- @events = Event.all
49
+ @past_events = Event.past.order("start_on ASC")
50
+ @future_events = Event.future.order("start_on ASC")
51
+ @current_events = Event.current.order("start_on ASC")
50
52
  end
51
53
 
52
54
  respond_to do |format|
@@ -1,4 +1,12 @@
1
1
  module EventCalendar::ApplicationHelper
2
+ def div_for_record(record, options={}, &block)
3
+ options.merge!({:class => "span-10 #{options[:class]}"})
4
+ div_for(record, options){ yield }
5
+ end
6
+ def tag_for_record(tag, record, *args, &block)
7
+ content_tag_for(tag, record, *args){ yield }
8
+ end
9
+
2
10
  def link_wrapper(path, wrapper_options={}, link_options={})
3
11
  tag = wrapper_options.delete(:tag) || :p
4
12
  link_text = link_options.delete(:link_text) || path
@@ -21,6 +29,28 @@ module EventCalendar::ApplicationHelper
21
29
  end
22
30
  end
23
31
 
32
+ def time_with_zones(time=Time.now)
33
+ out = {}
34
+ format = "%H:%M"
35
+ ActiveSupport::TimeZone.us_zones.map(&:name).each do |us_zone|
36
+ next unless us_zone =~ /Pacific|Mountain|Central|Eastern/
37
+ key = time.in_time_zone(us_zone).strftime("%Z")
38
+ out[key] = time.in_time_zone(us_zone).strftime(format)
39
+ end
40
+ out
41
+ end
42
+
43
+ def times_with_zones(event)
44
+ begin
45
+ [
46
+ time_with_zones(event.start_time),
47
+ time_with_zones(event.end_time)
48
+ ]
49
+ rescue NoMethodError => e
50
+ raise "#{e.message} - #{event.inspect}"
51
+ end
52
+ end
53
+
24
54
  def link_to_events(wrapper_options={}, link_options={})
25
55
  return unless has_authorization?(:read, Event.new)
26
56
  link_wrapper(events_path, wrapper_options, link_options.reverse_merge!({
@@ -49,7 +79,7 @@ module EventCalendar::ApplicationHelper
49
79
  def link_to_deleted_events(wrapper_options={})
50
80
  return unless has_authorization?(:update, Event.new)
51
81
  link_wrapper(event_revisions_path, wrapper_options, {
52
- :link_text => "Restore Deleted Events (#{EventRevision.deleted.count})"
82
+ :link_text => "Browse Deleted Events (#{EventRevision.deleted.count})"
53
83
  })
54
84
  end
55
85
 
@@ -73,7 +103,7 @@ module EventCalendar::ApplicationHelper
73
103
  :highlight => false
74
104
  }.merge!(wrapper_options), {
75
105
  :link_text => "Delete <em>#{event.name}</em>".html_safe,
76
- :confirm => "Are you sure you want to permanently delete the #{event.name} #{event.type}?",
106
+ :confirm => "Are you sure you want to permanently delete the #{event.name} #{event.event_type}?",
77
107
  :method => "delete"
78
108
  }.merge!(link_options))
79
109
  end
data/app/models/event.rb CHANGED
@@ -3,7 +3,7 @@ class Event < ActiveRecord::Base
3
3
 
4
4
  include ActionView::Helpers::TextHelper
5
5
 
6
- attr_accessor :start_time, :end_time, :start_date, :end_date
6
+ include EventInstanceMethods
7
7
 
8
8
  has_many :attendees
9
9
 
@@ -38,48 +38,7 @@ class Event < ActiveRecord::Base
38
38
  end
39
39
 
40
40
  protected
41
- public
42
-
43
- def start_time
44
- @start_time ||= start_on
45
- end
46
-
47
- def end_time
48
- @end_time ||= end_on
49
- end
50
-
51
- def start_date
52
- @start_date ||= start_on.present? ? start_on.to_date : start_on
53
- end
54
-
55
- def end_date
56
- @end_date ||= end_on.present? ? end_on.to_date : end_on
57
- end
58
-
59
- def start_year
60
- start_on.year
61
- end
62
-
63
- def start_month
64
- start_on.strftime("%B")
65
- end
66
-
67
- def start_day
68
- start_on.day
69
- end
70
-
71
- def end_year
72
- end_on.year
73
- end
74
-
75
- def end_month
76
- end_on.strftime("%B")
77
- end
78
-
79
- def end_day
80
- end_on.day
81
- end
82
-
41
+ public
83
42
  def participants
84
43
  return [] if attendees.count == 0
85
44
  attendees.all.collect do |attendee|
@@ -0,0 +1,47 @@
1
+ module EventInstanceMethods
2
+ attr_accessor :start_time, :end_time, :start_date, :end_date
3
+
4
+ def start_time
5
+ @start_time ||= start_on
6
+ end
7
+
8
+ def end_time
9
+ @end_time ||= end_on
10
+ end
11
+
12
+ def start_date
13
+ @start_date ||= start_on.present? ? start_on.to_date : start_on
14
+ end
15
+
16
+ def end_date
17
+ @end_date ||= end_on.present? ? end_on.to_date : end_on
18
+ end
19
+
20
+ def start_year
21
+ start_on.year
22
+ end
23
+
24
+ def start_month
25
+ start_on.strftime("%B")
26
+ end
27
+
28
+ def start_day
29
+ start_on.day
30
+ end
31
+
32
+ def end_year
33
+ end_on.year
34
+ end
35
+
36
+ def end_month
37
+ end_on.strftime("%B")
38
+ end
39
+
40
+ def end_day
41
+ end_on.day
42
+ end
43
+
44
+ def one_day?
45
+ start_day == end_day
46
+ end
47
+ end
@@ -4,6 +4,7 @@ class EventRevision < ActiveRecord::Base
4
4
  acts_as_revision :revisable_class_name => 'Event'
5
5
 
6
6
  include DeletableInstanceMethods
7
+ include EventInstanceMethods
7
8
 
8
9
  scope :deleted, where("revisable_deleted_at IS NOT NULL")
9
10
  end
@@ -0,0 +1,32 @@
1
+ <!--
2
+ <h3>Attendees/Participants</h3>
3
+
4
+ <%
5
+ #if @event.attendees.empty?
6
+ %>
7
+ <p><em>No attendees for this event.</em></p>
8
+ <%
9
+ #else
10
+ %>
11
+
12
+ form stub
13
+
14
+ <% @event.participants.group_by(&:class).map do |type, participants| %>
15
+ <h4><%= link_to(pluralize(participants.size, type.to_s), polymorphic_path(type)) %></h4>
16
+ <ol>
17
+ <% participants.each do |participant| %>
18
+ <% name_attr = participant.attribute_names.detect{|m_attr| m_attr =~ /name/} %>
19
+ <% if participant.respond_to?(:name) %>
20
+ <li><%= link_to(participant.send(name_attr), polymorphic_path(participant)) %></li>
21
+ <% elsif name_attr %>
22
+ <li><%= link_to(participant.name, polymorphic_path(participant)) %></li>
23
+ <% end %>
24
+ <% end %>
25
+ </ol>
26
+ <% end %>
27
+
28
+ form stub end
29
+ <%
30
+ #end
31
+ %>
32
+ -->
@@ -0,0 +1,6 @@
1
+ <%= tag_for_record :tr, event_revision, :style => 'background-color: #f5c6d7' do %>
2
+ <td><%= link_to event_revision.name, event_revision_path(event_revision) %></td>
3
+ <td><%= truncate(event_revision.location, :length => 100) %></td>
4
+ <td><%= truncate(event_revision.description, :length => 100) %></td>
5
+ <td></td>
6
+ <% end %>
@@ -0,0 +1,30 @@
1
+ <ul class="events">
2
+ <% events.group_by(&:start_year).each do |year, years_events| %>
3
+ <li><%= year %>
4
+ <ul>
5
+ <% years_events.group_by(&:start_month).each do |month, months_events| %>
6
+ <li><%= month %>
7
+ <ul>
8
+ <% months_events.each do |event| %>
9
+ <li>
10
+ <p>
11
+ <%= link_to event.name, event_revision_path(event) %>
12
+ <%= link_to 'restore', restore_event_revision_path(event),
13
+ :confirm => 'Are you sure you want to restore this deleted event?',
14
+ :method => "post",
15
+ :class => 'fake_button' %>
16
+ </p>
17
+ <%- if event.one_day? -%>
18
+ <%= render :partial => 'events/one_day_list_event', :object => event %>
19
+ <%- else -%>
20
+ <%= render :partial => 'events/multi_day_list_event', :object => event %>
21
+ <%- end -%>
22
+ </li>
23
+ <% end %>
24
+ </ul>
25
+ </li>
26
+ <% end %>
27
+ </ul>
28
+ </li>
29
+ <% end %>
30
+ </ul>
@@ -1,31 +1,2 @@
1
- <table class="nice_table tablesorter">
2
- <thead>
3
- <tr>
4
- <th>Event</th>
5
- <th>Location</th>
6
- <th>Description</th>
7
- <th style="border: 1px #CCF dashed; text-align:center">Manage</th>
8
- </tr>
9
- </thead>
10
- <tbody>
11
- <% for event in @deleted_events %>
12
- <tr style="background-color: #f5c6d7;">
13
- <td><%= link_to event.name, event_revision_path(event) %></td>
14
- <td><%= truncate(event.location, :length => 100) %></td>
15
- <td><%= truncate(event.description, :length => 100) %></td>
16
- <td><%= link_to 'restore', restore_event_revision_path(event),
17
- :confirm => 'Are you sure you want to restore this deleted event?',
18
- :method => "post",
19
- :class => 'fake_button' %></td>
20
- </tr>
21
- <% end %>
22
- </tbody>
23
- </table>
24
-
25
- <script type="text/javascript">
26
- $(document).ready(function()
27
- {
28
- $(".nice_table").tablesorter( { widgets: ['zebra'], headers: { 3:{sorter: false}, 4:{sorter: false}, 5:{sorter: false}} });
29
- }
30
- );
31
- </script>
1
+ <h2>Deleted Events (<em><%= @deleted_events.count %></em>)</h2>
2
+ <%= render :partial => 'event_revisions/list_group', :locals => {:events => @deleted_events} %>
@@ -1,11 +1,11 @@
1
-
2
1
  <p>
3
2
  <% if Event.where(:id => @event_revision.current_revision).count > 0 %>
4
3
  <%= link_to "< Current Version", event_path(@event_revision.current_revision), :class => 'fake_button' %>
5
4
  <% else %>
6
- <%= link_to "< Browse Revisions", event_revisions_path, :class => 'fake_button' %>
5
+ <%= link_to "< Browse Deleted", event_revisions_path, :class => 'fake_button' %>
7
6
  <% end %>
8
7
  </p>
9
8
 
10
- <h1>Event - Version: <%= @event_revision.revision_number %><hr /></h1>
11
- <%= render :partial => 'events/event_details', :object => @event_revision %>
9
+ <p style="float: right;" class="fake_button">Revision <%= @event_revision.revision_number %></p>
10
+
11
+ <%= render :partial => 'events/event', :object => @event_revision %>
@@ -0,0 +1,20 @@
1
+ <p><em>mouse over an event to preview; click on an event for full details</em></p>
2
+
3
+ <div id="event_quick_description" class="span-12" style="display:none"></div>
4
+
5
+ <div style="clear:both"></div>
6
+
7
+ <div id="calendar" class="calendars"></div>
8
+
9
+ <% content_for :javascript do %>
10
+ <script type="text/javascript">
11
+ $(document).ready(function()
12
+ {
13
+ $('#calendar').fullCalendar({
14
+ editable: false, events: '<%= events_path %>', height: 500, aspectRatio: 1,
15
+ eventMouseover: updateEventDescription
16
+ });
17
+ }
18
+ );
19
+ </script>
20
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <%- if current_event_counter == 0; then current_event_counter += 1; end -%>
2
+ <div class="span-2<%= current_event_counter % 8 == 0 ? ' last' : '' %>">
3
+ <p><strong><%= link_to current_event.name, event_path(current_event) %></strong></p>
4
+ <p><em><%= current_event.start_on.strftime("%a, %b %d") %></em></p>
5
+ <p><em><%= current_event.end_on.strftime("%a, %b %d") %></em></p>
6
+ </div>
@@ -1,2 +1,13 @@
1
+ <%- unless details.one_day? %>
1
2
  <%= textilize(details.location) %>
2
3
  <%= textilize(details.description) %>
4
+ <%- else -%>
5
+ <div class="span-6">
6
+ <%= textilize(details.location) %>
7
+ <%= textilize(details.description) %>
8
+ </div>
9
+
10
+ <div class="span-6 last">
11
+ <%= render :partial => 'events/times', :object => times_with_zones(details) %>
12
+ </div>
13
+ <%- end -%>
@@ -1,10 +1,5 @@
1
- <div class="span-8">
2
- <h4><%= link_to event.name_and_file_count, event_path(event.id) %></h4>
3
- <p><%=h event.event_type %></p>
4
- <% if event.attendees.count > 0 %>
5
- <p><%= "#{event.attendees.count} attendees" %></p>
6
- <% end %>
7
- <p>from <%=h event.start_on.strftime "%a, %b %d %Y (%I:%M%p)" %></p>
8
- <p>until <%=h event.end_on.strftime "%a, %b %d %Y (%I:%M%p)" %></p>
9
- <p><%=h event.description[0..60] %></p>
10
- </div>
1
+ <%= div_for_record(event) do -%>
2
+ <h1><%= link_to event.name, event_path(event) %> (<em><%= event.event_type %></em>)</h1>
3
+
4
+ <%= render :partial => 'events/event_details', :object => event %>
5
+ <% end %>
@@ -1,19 +1,17 @@
1
- <p>
2
- <strong><%= event_details.name %></strong><br/>
3
- <em><%= event_details.event_type %></em>
4
- </p>
5
-
6
1
  <p>
7
2
  <strong>Starts</strong><br />
8
- <%= event_details.start_on.in_time_zone(event_details.timezone).strftime('%A, %B %d %Y at %I:%M %p (%Z)') %>
3
+ <%= event_details.start_on.in_time_zone(event_details.timezone).strftime('%A, %B %d %Y') %>
9
4
  </p>
10
- <% if event_details.end_on %>
11
- <p>
12
- <strong>Ends</strong><br />
13
- <%= event_details.end_on.in_time_zone(event_details.timezone).strftime('%A, %B %d %Y at %I:%M %p (%Z)') %>
14
- </p>
15
- <% end %>
16
-
5
+ <%- unless event_details.one_day? %>
6
+ <% if event_details.end_on %>
7
+ <p>
8
+ <strong>Ends</strong><br />
9
+ <%= event_details.end_on.in_time_zone(event_details.timezone).strftime('%A, %B %d %Y') %>
10
+ </p>
11
+ <% end %>
12
+ <%- else -%>
13
+ <%= render :partial => 'events/times', :object => times_with_zones(event_details) %>
14
+ <%- end -%>
17
15
  <% unless event_details.location.blank? %>
18
16
  <p>
19
17
  <strong>Location</strong><br/>
@@ -0,0 +1,13 @@
1
+ <div class="span-16 last">
2
+ <h2>Current Events (<em><%= @current_events.count %></em>)</h2>
3
+ <%= render :partial => 'events/current_event', :collection => @current_events %>
4
+ </div>
5
+ <div class="span-8 last">
6
+ <h2>Past Events (<em><%= @past_events.count %></em>)</h2>
7
+ <%= render :partial => 'events/list_group', :locals => {:events => @past_events} %>
8
+ </div>
9
+ <div class="span-8">
10
+ <h2>Future Events (<em><%= @future_events.count %></em>)</h2>
11
+ <%= render :partial => 'events/list_group', :locals => {:events => @future_events} %>
12
+ </div>
13
+ <div style="clear:both;"></div>
@@ -0,0 +1,24 @@
1
+ <ul class="events">
2
+ <% events.group_by(&:start_year).each do |year, years_events| %>
3
+ <li><%= year %>
4
+ <ul>
5
+ <% years_events.group_by(&:start_month).each do |month, months_events| %>
6
+ <li><%= month %>
7
+ <ul>
8
+ <% months_events.each do |event| %>
9
+ <li>
10
+ <p><%= link_to event.name, event_path(event) %></p>
11
+ <%- if event.one_day? -%>
12
+ <%= render :partial => 'events/one_day_list_event', :object => event %>
13
+ <%- else -%>
14
+ <%= render :partial => 'events/multi_day_list_event', :object => event %>
15
+ <%- end -%>
16
+ </li>
17
+ <% end %>
18
+ </ul>
19
+ </li>
20
+ <% end %>
21
+ </ul>
22
+ </li>
23
+ <% end %>
24
+ </ul>
@@ -0,0 +1,4 @@
1
+ <p>
2
+ <%= multi_day_list_event.start_on.strftime("%A") %> <%= multi_day_list_event.start_day.ordinalize %> -
3
+ <%= multi_day_list_event.end_on.strftime("%A") %> <%= multi_day_list_event.end_day.ordinalize %>
4
+ </p>
@@ -0,0 +1,2 @@
1
+ <p><%= one_day_list_event.start_on.strftime("%A") %> <%= one_day_list_event.start_day.ordinalize %></p>
2
+ <%= render :partial => 'events/times', :object => times_with_zones(one_day_list_event) %>
@@ -0,0 +1,3 @@
1
+ <% times.first.each do |zone, start| %>
2
+ <p><%= start %> - <%= times.last[zone] %> <em><%= zone %></em></p>
3
+ <% end %>
@@ -1,23 +1,10 @@
1
- <h1>Events</h1>
2
-
3
- <p><em>mouse over an event to preview; click on an event for full details</em></p>
4
-
5
- <div id="calendar" class="calendars"></div>
6
-
7
- <div style="clear:both"></div>
8
-
9
- <div id="event_quick_description" style="display:none"></div>
10
-
11
- <% content_for :javascript do %>
12
- <script type="text/javascript">
13
- $(document).ready(function()
14
- {
15
- $('#calendar').fullCalendar({
16
- editable: false, events: '<%= events_path %>', height: 500, aspectRatio: 1,
17
- eventMouseover: updateEventDescription
18
- });
19
- }
20
- );
21
-
22
- </script>
23
- <% end %>
1
+ <p style="float: right;">
2
+ <a href="#" class="fake_button view_events calendar">Calendar</a>
3
+ <a href="#" class="fake_button view_events list">List</a>
4
+ </p>
5
+ <div id="event_calendar">
6
+ <%= render :partial => 'calendar' %>
7
+ </div>
8
+ <div id="event_list" style="display: none;">
9
+ <%= render :partial => 'list' %>
10
+ </div>
@@ -1,38 +1 @@
1
- <div class="span-10">
2
- <h1>Event</h1>
3
-
4
- <%= render :partial => 'event_details', :object => @event %>
5
-
6
- <!--
7
- <h3>Attendees/Participants</h3>
8
-
9
- <%
10
- #if @event.attendees.empty?
11
- %>
12
- <p><em>No attendees for this event.</em></p>
13
- <%
14
- #else
15
- %>
16
-
17
- form stub
18
-
19
- <% @event.participants.group_by(&:class).map do |type, participants| %>
20
- <h4><%= link_to(pluralize(participants.size, type.to_s), polymorphic_path(type)) %></h4>
21
- <ol>
22
- <% participants.each do |participant| %>
23
- <% name_attr = participant.attribute_names.detect{|m_attr| m_attr =~ /name/} %>
24
- <% if participant.respond_to?(:name) %>
25
- <li><%= link_to(participant.send(name_attr), polymorphic_path(participant)) %></li>
26
- <% elsif name_attr %>
27
- <li><%= link_to(participant.name, polymorphic_path(participant)) %></li>
28
- <% end %>
29
- <% end %>
30
- </ol>
31
- <% end %>
32
-
33
- form stub end
34
- <%
35
- #end
36
- %>
37
- -->
38
- </div>
1
+ <%= render @event %>
@@ -12,6 +12,7 @@ var updateEventDescription = function(event, jsEvent) {
12
12
 
13
13
  jQuery(function($) {
14
14
  $('a.show_hide_link').attach(ShowHideLink);
15
+ $('a.view_events').attach(EventView);
15
16
  });
16
17
 
17
18
  /*
@@ -30,30 +31,3 @@ $.fn.clearForm = function() {
30
31
  this.selectedIndex = -1;
31
32
  });
32
33
  };
33
-
34
- DynamicForm = $.klass({
35
- initialize: function(options) {
36
- this.formId = options.formId; // new_description
37
- this.formContainer = options.formContainer; // blank_description_form
38
- this.targetIdName = options.targetIdName; // file_attachment_id
39
- this.targetContentName = options.targetContentName; // file_attachment[description]
40
- this.targetContentType = options.targetContentType;
41
- this.actionPrefix = options.actionPrefix; // /file_attachments
42
- },
43
- onclick: function(e) {
44
- e.preventDefault();
45
-
46
- var targetIdValue = this.element.attr(this.targetIdName);
47
- var targetContentValue = this.element.attr(this.targetContentName);
48
-
49
- $('#' + this.formId).attr("action", this.actionPrefix + "/" + targetIdValue);
50
-
51
- $('#' + this.formId).clearForm();
52
-
53
- $('#' + this.formContainer).insertBefore(this.element);
54
-
55
- $(this.targetContentType + '[name='+ this.targetContentName +']').val(targetContentValue);
56
-
57
- $('#' + this.formContainer).show();
58
- }
59
- });
@@ -129,3 +129,42 @@ ShowHideLink = $.klass({
129
129
  return this.doNotStop;
130
130
  }
131
131
  });
132
+
133
+ DynamicForm = $.klass({
134
+ initialize: function(options) {
135
+ this.formId = options.formId; // new_description
136
+ this.formContainer = options.formContainer; // blank_description_form
137
+ this.targetIdName = options.targetIdName; // file_attachment_id
138
+ this.targetContentName = options.targetContentName; // file_attachment[description]
139
+ this.targetContentType = options.targetContentType;
140
+ this.actionPrefix = options.actionPrefix; // /file_attachments
141
+ },
142
+ onclick: function(e) {
143
+ e.preventDefault();
144
+
145
+ var targetIdValue = this.element.attr(this.targetIdName);
146
+ var targetContentValue = this.element.attr(this.targetContentName);
147
+
148
+ $('#' + this.formId).attr("action", this.actionPrefix + "/" + targetIdValue);
149
+
150
+ $('#' + this.formId).clearForm();
151
+
152
+ $('#' + this.formContainer).insertBefore(this.element);
153
+
154
+ $(this.targetContentType + '[name='+ this.targetContentName +']').val(targetContentValue);
155
+
156
+ $('#' + this.formContainer).show();
157
+ }
158
+ });
159
+
160
+ EventView = $.klass({
161
+ onclick: function(e) {
162
+ if( this.element.hasClass('calendar') ) {
163
+ $('#event_list').hide();
164
+ $('#event_calendar').show();
165
+ } else if( this.element.hasClass('list') ) {
166
+ $('#event_calendar').hide();
167
+ $('#event_list').show();
168
+ }
169
+ }
170
+ });
@@ -19,13 +19,23 @@ describe EventsController do
19
19
  end
20
20
  before(:each) do
21
21
  subject.stub(:find).with("37"){ event }
22
+ subject.stub_chain(:past, :order){ ['past'] }
23
+ subject.stub_chain(:current, :order){ ['current'] }
24
+ subject.stub_chain(:future, :order){ ['future'] }
22
25
  end
23
26
 
24
27
  describe "GET index" do
25
- it "assigns all events as @events" do
26
- subject.stub(:all){ [event] }
28
+ it "assigns past events as @past_events" do
27
29
  get :index
28
- assigns(:events).should eq [event]
30
+ assigns(:past_events).should eq ['past']
31
+ end
32
+ it "assigns current events as @current_events" do
33
+ get :index
34
+ assigns(:current_events).should eq ['current']
35
+ end
36
+ it "assigns future events as @future_events" do
37
+ get :index
38
+ assigns(:future_events).should eq ['future']
29
39
  end
30
40
  end
31
41
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: event_calendar_engine
3
3
  version: !ruby/object:Gem::Version
4
- hash: 11
4
+ hash: 9
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 8
10
- version: 0.1.8
9
+ - 9
10
+ version: 0.1.9
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jason LaPier
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-01-06 00:00:00 -08:00
19
+ date: 2011-01-11 00:00:00 -08:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
@@ -403,21 +403,32 @@ files:
403
403
  - app/models/attendee.rb
404
404
  - app/models/deletable_instance_methods.rb
405
405
  - app/models/event.rb
406
+ - app/models/event_instance_methods.rb
406
407
  - app/models/event_revision.rb
407
408
  - app/models/participant.rb
408
409
  - app/models/participator.rb
410
+ - app/views/attendees/_add_attendees.html.erb
409
411
  - app/views/attendees/index.html.erb
410
412
  - app/views/attendees/new.html.erb
411
413
  - app/views/event-calendar-shared/_flash.html.erb
412
414
  - app/views/event-calendar-shared/_main_menu.html.erb
413
415
  - app/views/event-calendar-shared/_navigation.html.erb
416
+ - app/views/event_revisions/_event_revision.html.erb
417
+ - app/views/event_revisions/_list_group.html.erb
414
418
  - app/views/event_revisions/index.html.erb
415
419
  - app/views/event_revisions/show.html.erb
416
420
  - app/views/events/_browse_event_revisions.html.erb
421
+ - app/views/events/_calendar.html.erb
422
+ - app/views/events/_current_event.html.erb
417
423
  - app/views/events/_details.html.erb
418
424
  - app/views/events/_event.html.erb
419
425
  - app/views/events/_event_details.html.erb
420
426
  - app/views/events/_form.html.erb
427
+ - app/views/events/_list.html.erb
428
+ - app/views/events/_list_group.html.erb
429
+ - app/views/events/_multi_day_list_event.html.erb
430
+ - app/views/events/_one_day_list_event.html.erb
431
+ - app/views/events/_times.html.erb
421
432
  - app/views/events/attendees.html.erb
422
433
  - app/views/events/edit.html.erb
423
434
  - app/views/events/index.html.erb