Class: NcodeSyosetu::Client
- Inherits:
-
Object
- Object
- NcodeSyosetu::Client
- Defined in:
- lib/ncode_syosetu/client.rb
Defined Under Namespace
Classes: NotFound
Instance Method Summary collapse
- #episode_url(ncode, number) ⇒ Object
- #get(ncode) ⇒ Object
- #get_episode(ncode, title, number) ⇒ Object
- #get_toc(ncode) ⇒ Object
-
#initialize(logger: Logger.new(STDOUT), sleep: 0.5) ⇒ Client
constructor
A new instance of Client.
- #toc_url(ncode) ⇒ Object
Constructor Details
#initialize(logger: Logger.new(STDOUT), sleep: 0.5) ⇒ Client
Returns a new instance of Client.
15 16 17 18 19 |
# File 'lib/ncode_syosetu/client.rb', line 15 def initialize(logger: Logger.new(STDOUT), sleep: 0.5) @mechanize = Mechanize.new @logger = logger @sleep = sleep end |
Instance Method Details
#episode_url(ncode, number) ⇒ Object
49 50 51 |
# File 'lib/ncode_syosetu/client.rb', line 49 def episode_url(ncode, number) "http://#{NcodeSyosetu::NCODE_HOST_NAME}/#{ncode}/#{number}" end |
#get(ncode) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/ncode_syosetu/client.rb', line 21 def get(ncode) toc = get_toc(ncode) episodes = toc.episodes.map do |episode| if episode[:number] get_episode(ncode, episode[:text], episode[:number]) else NcodeSyosetu::Model::Heading.new(episode[:text]) end end NcodeSyosetu::Model::Novel.new(toc, episodes) end |
#get_episode(ncode, title, number) ⇒ Object
40 41 42 43 |
# File 'lib/ncode_syosetu/client.rb', line 40 def get_episode(ncode, title, number) sleep(@sleep) NcodeSyosetu::Model::Episode.new(title, number, get_content(episode_url(ncode, number))) end |
#get_toc(ncode) ⇒ Object
35 36 37 38 |
# File 'lib/ncode_syosetu/client.rb', line 35 def get_toc(ncode) url = toc_url(ncode) NcodeSyosetu::Model::Toc.new(get_content(toc_url(ncode))) end |
#toc_url(ncode) ⇒ Object
45 46 47 |
# File 'lib/ncode_syosetu/client.rb', line 45 def toc_url(ncode) "http://#{NcodeSyosetu::NCODE_HOST_NAME}/#{ncode}" end |