Class: Aniview::Interface::AnimeSeries
- Inherits:
-
Item
- Object
- Item
- Aniview::Interface::AnimeSeries
show all
- Includes:
- Util
- Defined in:
- lib/aniview/interface/animeio/animeseries.rb
Instance Attribute Summary
Attributes inherited from Item
#attr
Instance Method Summary
collapse
Methods included from Util
decode_object, encode_object, error_message, format_duration, format_progress, format_size, mounted_filesystem?, parse_format, readline
Methods inherited from Item
#cereal
Constructor Details
#initialize(path, children = []) ⇒ AnimeSeries
Returns a new instance of AnimeSeries.
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/aniview/interface/animeio/animeseries.rb', line 11
def initialize(path, children = [])
@path = path
@attr = {
"t" => String(@path),
"c" => 0,
"d" => 0,
"s" => 0,
"p" => 0,
"w" => 0,
"W" => 0
}
@children = children
@children.each { |c| self + c }
end
|
Instance Method Details
#+(af) ⇒ Object
28
29
30
31
32
33
34
35
36
|
# File 'lib/aniview/interface/animeio/animeseries.rb', line 28
def + af
@attr["d"] += af.attr["d"]
@attr["D"] = Util.format_duration(@attr["d"])
@attr["s"] += af.attr["s"]
@attr["S"] = Util.format_size(@attr["s"])
@attr["c"] += 1
@attr["w"] += 1 if af.seen?
@attr["W"] += af.attr["d"] if af.seen?
end
|
#<<(af) ⇒ Object
38
39
40
41
42
|
# File 'lib/aniview/interface/animeio/animeseries.rb', line 38
def << af
@children << af
self + af
average
end
|
#attributes ⇒ Object
55
56
57
|
# File 'lib/aniview/interface/animeio/animeseries.rb', line 55
def attributes
return @attr
end
|
#average ⇒ Object
44
45
46
47
48
49
|
# File 'lib/aniview/interface/animeio/animeseries.rb', line 44
def average
@attr["p"] = @attr["w"] * 100.0 / @attr["c"]
@attr["q"] = @attr["d"] > 0 ? @attr["W"] * 100.0 / @attr["d"] : 0
@attr["Q"] = Util.format_progress @attr["q"]
@attr["P"] = Util.format_progress @attr["p"]
end
|
#title ⇒ Object
51
52
53
|
# File 'lib/aniview/interface/animeio/animeseries.rb', line 51
def title
return @path
end
|