Class: OpenDMM::Engine::DMM::Movie

Inherits:
Movie
  • Object
show all
Defined in:
lib/opendmm/engines/dmm.rb

Instance Method Summary collapse

Methods inherited from Movie

#details

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