listview 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. data/lib/listview.rb +24 -7
  2. metadata +1 -1
data/lib/listview.rb CHANGED
@@ -27,7 +27,7 @@ class ListView
27
27
  #
28
28
  #get_events(events: [obj1], events_per_page: 5, page: 0)
29
29
  def get_events vars
30
- get_events_that_havent_happened_yet(vars[:events], vars[:events_per_page], (vars[:page].to_i)*vars[:events_per_page])
30
+ get_events_that_havent_happened_yet(vars[:events], vars[:events_per_page], (vars[:page].to_i)*vars[:events_per_page])[:events_that_havent_happened_yet]
31
31
  end
32
32
 
33
33
  #example use:
@@ -36,7 +36,12 @@ class ListView
36
36
  #date_format help: http://ruby-doc.org/stdlib-1.9.3/libdoc/date/rdoc/DateTime.html#method-i-to_date
37
37
  def organization_events_by_day vars
38
38
  vars[:date_format] ||= "%B, %d"
39
- organized_events = get_events_that_havent_happened_yet(vars[:events], vars[:events_per_page], (vars[:page].to_i)*vars[:events_per_page])
39
+ events_dict = get_events_that_havent_happened_yet(vars[:events], vars[:events_per_page], (vars[:page].to_i)*vars[:events_per_page])
40
+
41
+ organized_events = events_dict[:events_that_havent_happened_yet]
42
+ rightmost_page = events_dict[:rightmost_page]
43
+ leftmost_page = events_dict[:leftmost_page]
44
+
40
45
  events_organized_by_day = []
41
46
  current_day = DateTime.now
42
47
  def event_date date, date_format
@@ -56,7 +61,11 @@ class ListView
56
61
  events_organized_by_day[-1][:events] += [event]
57
62
  end
58
63
  end
59
- return events_organized_by_day
64
+ return {
65
+ events: events_organized_by_day,
66
+ rightmost_page: rightmost_page,
67
+ leftmost_page: leftmost_page,
68
+ }
60
69
  end
61
70
 
62
71
  private
@@ -69,17 +78,25 @@ class ListView
69
78
  events_that_havent_happened_yet = events
70
79
  events_that_havent_happened_yet.sort_by! {|event| event.date}
71
80
  closest_to_today = get_event_closed_to_today(events_that_havent_happened_yet)
72
- return [] if closest_to_today.nil?
73
-
81
+
82
+ return_var = {}
83
+ return_var[:events_that_havent_happened_yet] = []
84
+ event_index = closest_to_today + offset
85
+ return_var[:leftmost_page] = -((event_index / number_of_events_per_page).to_i)
86
+ return_var[:rightmost_page] = (((events_that_havent_happened_yet.length - 1) - (event_index)) / number_of_events_per_page).to_i
87
+
88
+ return return_var if closest_to_today.nil?
89
+
74
90
  start_event_index = [closest_to_today + offset, 0].max
75
- return events_that_havent_happened_yet[start_event_index, number_of_events_per_page]
91
+ return_var[:events_that_havent_happened_yet] = events_that_havent_happened_yet[start_event_index, number_of_events_per_page]
92
+ return return_var
76
93
  end
77
94
 
78
95
  def get_event_closed_to_today events
79
96
  today = DateTime.now
80
97
  closest_to_today = nil
81
98
  events.each_with_index do |event, index|
82
- if event.date.to_i - today.to_i > 0
99
+ if event.date.to_i > today.to_i
83
100
  if closest_to_today == nil
84
101
  closest_to_today = index
85
102
  else
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: listview
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: