Class: Hubba::Stats::HistoryItem

Inherits:
Object
  • Object
show all
Defined in:
lib/hubba/stats.rb

Overview

build history items (structs)

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(date:, stars:) ⇒ HistoryItem

Returns a new instance of HistoryItem.



110
111
112
113
114
# File 'lib/hubba/stats.rb', line 110

def initialize( date:, stars: )
  @date  = date
  @stars = stars
  @next  = nil
end

Instance Attribute Details

#dateObject (readonly)

read-only attributes



107
108
109
# File 'lib/hubba/stats.rb', line 107

def date
  @date
end

#nextObject

read/write attributes (for double linked list/nodes/items)



108
109
110
# File 'lib/hubba/stats.rb', line 108

def next
  @next
end

#prevObject

read/write attributes (for double linked list/nodes/items)



108
109
110
# File 'lib/hubba/stats.rb', line 108

def prev
  @prev
end

#starsObject (readonly)

read-only attributes



107
108
109
# File 'lib/hubba/stats.rb', line 107

def stars
  @stars
end

Instance Method Details

#append(item) ⇒ Object

link items (append item at the end/tail)



117
118
119
120
# File 'lib/hubba/stats.rb', line 117

def append( item )
  @next = item
  item.prev = self
end

#diff_daysObject



122
123
124
125
126
127
128
129
# File 'lib/hubba/stats.rb', line 122

def diff_days
  if @next
    ## note: use jd=julian days for calculation
    @date.jd - @next.date.jd
  else
    nil   ## last item (tail)
  end
end

#diff_starsObject



131
132
133
134
135
136
137
# File 'lib/hubba/stats.rb', line 131

def diff_stars
  if @next
    @stars - @next.stars
  else
    nil   ## last item (tail)
  end
end