Class: OpenDMM::Engine::DMM::Movie
- Defined in:
- lib/opendmm/engines/dmm.rb
Instance Method Summary collapse
-
#initialize(query) ⇒ Movie
constructor
A new instance of Movie.
Methods inherited from Movie
Constructor Details
#initialize(query) ⇒ Movie
Returns a new instance of Movie.
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/opendmm/engines/dmm.rb', line 56 def initialize(query) search = Search.new(query, Site.search(query)) super(query, Site.get(search.result)) @details.thumbnail_image = @html.at_css('#sample-video img')['src'] @details.title = @html.css('#title').text begin @details.cover_image = @html.at_css('#sample-video a')['href'] rescue StandardError @details.cover_image = @details.thumbnail_image end details_table = @html.at_xpath('//div[@class="page-detail"]/table/tr/td[1]/table') details_table.css('tr').each do |tr| first = tr.css('td')[0] second = tr.css('td')[1] case first.text when /配信開始日/ @details.release_date = second.text when /収録時間/ @details.movie_length = second.text when /出演者/ @details.actresses = second.css('span').map(&:text) when /監督/ @details.directors = second.css('span').map(&:text) when /シリーズ/ @details.series = second.text when /メーカー/ @details.maker = second.text when /レーベル/ @details.label = second.text when /ジャンル/ @details.genres = second.css('span').map(&:text) when /品番/ if second.text =~ /([a-z]+)(\d+)/i @details.code = "#{$1.upcase}-#{$2.to_i.to_s.rjust(3, '0')}" else @details.code = second.text end end end @details.description = details_table.next_element.next_element.xpath('text()').text end |