listview 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/listview.rb +16 -7
  2. metadata +1 -1
data/lib/listview.rb CHANGED
@@ -19,6 +19,13 @@ class ListView
19
19
 
20
20
  #parameters: vars[:events], vars[:date], vars[:page], vars[:events_per_page], vars[:date_format]
21
21
  def get_events_and_page_info vars
22
+ if vars[:events] == []
23
+ return {
24
+ events: [],
25
+ rightmost_page: 0,
26
+ leftmost_page: 0,
27
+ }
28
+ end
22
29
  vars[:date] ||= DateTime.now
23
30
  event_closed_to_today = get_event_closed_to_today(vars[:events], vars[:date])
24
31
  next_event = event_closed_to_today + (vars[:page].to_i * vars[:events_per_page].to_i)
@@ -62,17 +69,16 @@ class ListView
62
69
  end
63
70
  end
64
71
  end
65
- return closest_to_today
72
+ return closest_to_today || events.length
66
73
  end
67
74
 
68
75
  #parameters: vars[:events_per_page], vars[:next_event]
69
76
  def leftmost_page vars
70
- if vars[:events_per_page] > vars[:next_event]
71
- return -1
72
- elsif vars[:events_per_page] == 0
77
+ if vars[:next_event] <= 0 || vars[:events_per_page] == 0
73
78
  return 0
79
+ else
80
+ -(vars[:next_event] / vars[:events_per_page].to_f).ceil
74
81
  end
75
- -(((vars[:next_event].to_i) / vars[:events_per_page].to_f).ceil)
76
82
  end
77
83
 
78
84
  #parameters:
@@ -80,8 +86,11 @@ class ListView
80
86
  #vars[:next_event]
81
87
  #vars[:events_per_page]
82
88
  def rightmost_page vars
83
- events_after_today_minus_page_zero = (vars[:events] - (vars[:next_event] + vars[:events_per_page]))
84
- (events_after_today_minus_page_zero / vars[:events_per_page].to_f).ceil
89
+ if vars[:events] <= vars[:next_event]
90
+ return 0
91
+ else
92
+ ((vars[:events] - vars[:next_event]) / vars[:events_per_page].to_f).ceil - 1
93
+ end
85
94
  end
86
95
 
87
96
  end
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: 2.0.0
4
+ version: 2.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: