Class: NcodeSyosetu::Model::Toc

Inherits:
Object
  • Object
show all
Defined in:
lib/ncode_syosetu/model/toc.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(page) ⇒ Toc

Returns a new instance of Toc.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/ncode_syosetu/model/toc.rb', line 6

def initialize(page)
  @url = page.uri.to_s
  @title = page.title
  @author = page.search(".novel_writername").text.chomp
  @abstract = page.search(".novel_ex").text.chomp

  @episodes = []
  page.search(".novel_sublist tr").each do |sub_item|
    episode = { text: sub_item.text.gsub(/\s+/, " ").chomp }
    link = sub_item.search("a")
    unless link.empty?
      if link.attr("href").value =~ %r[/(\d+)/?$]
        episode[:number] = $1.to_i
      end
    end
    @episodes << episode
  end

  @body_html =
    page.search(".novel_writername").to_html <<
    page.search(".novel_ex").to_html <<
    page.search(".novel_sublist").to_html
end

Instance Attribute Details

#abstractObject

Returns the value of attribute abstract.



4
5
6
# File 'lib/ncode_syosetu/model/toc.rb', line 4

def abstract
  @abstract
end

#authorObject

Returns the value of attribute author.



4
5
6
# File 'lib/ncode_syosetu/model/toc.rb', line 4

def author
  @author
end

#episodesObject

Returns the value of attribute episodes.



4
5
6
# File 'lib/ncode_syosetu/model/toc.rb', line 4

def episodes
  @episodes
end

#titleObject

Returns the value of attribute title.



4
5
6
# File 'lib/ncode_syosetu/model/toc.rb', line 4

def title
  @title
end

#urlObject

Returns the value of attribute url.



4
5
6
# File 'lib/ncode_syosetu/model/toc.rb', line 4

def url
  @url
end

Instance Method Details

#htmlObject



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/ncode_syosetu/model/toc.rb', line 30

def html
  "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"ja\" lang=\"ja\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n<title>\#{@title}</title>\n</head>\n<body>\n\n\#{@body_html}\n\n</body>\n</html>\n  HTML\nend\n"