Class: Jekyll::RpLogs::Arc

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
Comparable
Defined in:
lib/jekyll/rp_logs/rp_arcs.rb

Overview

Holds arc information

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ Arc

Returns a new instance of Arc.



15
16
17
18
19
20
21
22
# File 'lib/jekyll/rp_logs/rp_arcs.rb', line 15

def initialize(name)
  # inspect types
  name.strip!
  @name = name

  @rps = []
  # potential future idea: directories for each arc
end

Instance Attribute Details

#nameObject

Returns the value of attribute name.



13
14
15
# File 'lib/jekyll/rp_logs/rp_arcs.rb', line 13

def name
  @name
end

#rpsObject

Returns the value of attribute rps.



13
14
15
# File 'lib/jekyll/rp_logs/rp_arcs.rb', line 13

def rps
  @rps
end

Instance Method Details

#<<(rp_page) ⇒ Object



24
25
26
# File 'lib/jekyll/rp_logs/rp_arcs.rb', line 24

def <<(rp_page)
  @rps << rp_page
end

#<=>(other) ⇒ Object

actually by… start.. date?



51
52
53
# File 'lib/jekyll/rp_logs/rp_arcs.rb', line 51

def <=>(other)
  name <=> other.name if self.class == other.class
end

#arc?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/jekyll/rp_logs/rp_arcs.rb', line 36

def arc?
  true
end

#end_dateObject



32
33
34
# File 'lib/jekyll/rp_logs/rp_arcs.rb', line 32

def end_date
  @rps.map { |rp_page| rp_page[:last_post_time] }.max
end

#eql?(other) ⇒ Boolean

Returns:

  • (Boolean)


44
45
46
47
48
# File 'lib/jekyll/rp_logs/rp_arcs.rb', line 44

def eql?(other)
  self.class == other.class &&
    name == other.name &&
    rps == other.rps
end

#inspectObject



55
56
57
# File 'lib/jekyll/rp_logs/rp_arcs.rb', line 55

def inspect
  self.class.name + "[" + @name + "]"
end

#start_dateObject



28
29
30
# File 'lib/jekyll/rp_logs/rp_arcs.rb', line 28

def start_date
  @rps.map { |rp_page| rp_page[:time_line] || rp_page[:start_date] }.min
end

#to_liquidObject



59
60
61
62
63
# File 'lib/jekyll/rp_logs/rp_arcs.rb', line 59

def to_liquid
  # Liquid wants a hash, not an object.

  { "name" => @name, "rps" => @rps }
end

#to_sObject



40
41
42
# File 'lib/jekyll/rp_logs/rp_arcs.rb', line 40

def to_s
  name
end