Class: Aniview::Interface::ScheduleItem

Inherits:
Item
  • Object
show all
Defined in:
lib/aniview/interface/schedule/scheduleitem.rb

Instance Attribute Summary

Attributes inherited from Item

#attr

Instance Method Summary collapse

Methods inherited from Item

#attributes, #cereal

Constructor Details

#initialize(title, dir) ⇒ ScheduleItem

Returns a new instance of ScheduleItem.



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/aniview/interface/schedule/scheduleitem.rb', line 7

def initialize(title, dir)
  @dirpath = dir
  @basepath = escapePath title
  
  @attr = {
    "t" => title,
    "f" => title[0..4] + "…",
    "r" => title,
    "p" => @dirpath + @basepath,
    "m" => "never"
  }
  
  @lastseen = 0
  @id = SecureRandom.uuid
end

Instance Method Details

#escapePath(path) ⇒ Object



28
29
30
31
# File 'lib/aniview/interface/schedule/scheduleitem.rb', line 28

def escapePath path
  path_ = path.gsub(":", "_")
  path_.gsub("/", ":")
end

#idObject



52
53
54
55
# File 'lib/aniview/interface/schedule/scheduleitem.rb', line 52

def id
  id = SecureRandom.uuid if @id == nil
  @id
end

#setmatched(date) ⇒ Object



48
49
50
# File 'lib/aniview/interface/schedule/scheduleitem.rb', line 48

def setmatched date
  @attr["m"] = date
end

#setRegexp(regexp) ⇒ Object



39
40
41
# File 'lib/aniview/interface/schedule/scheduleitem.rb', line 39

def setRegexp regexp
  @attr["r"] = regexp
end

#setSeenObject



43
44
45
46
# File 'lib/aniview/interface/schedule/scheduleitem.rb', line 43

def setSeen
  @lastseen = Time.now.to_s
  @attr["m"] = @lastseen
end

#setTitle(newtitle) ⇒ Object



33
34
35
36
37
# File 'lib/aniview/interface/schedule/scheduleitem.rb', line 33

def setTitle newtitle
  @attr["t"] = newtitle
  @attr["f"] = newtitle[0..4] + "…"
  @attr["p"] = @dirpath + escapePath(newtitle)
end

#updataDir(nd) ⇒ Object



23
24
25
26
# File 'lib/aniview/interface/schedule/scheduleitem.rb', line 23

def updataDir nd
  @dirpath = nd
  @attr["p"] = nd + @basepath
end