Class: AppReviews::PlayStore::Reviews

Inherits:
Object
  • Object
show all
Includes:
BaseReviews
Defined in:
lib/app-reviews/play_store/reviews.rb

Instance Method Summary collapse

Methods included from BaseReviews

#count, #last, #last_date, #set_from_date, #set_last_date, #set_page

Instance Method Details

#eachObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/app-reviews/play_store/reviews.rb', line 11

def each
  unless @list.nil?
    return @list.each do |item|
      yield item
    end
  end

  @list = []
  url = "https://play.google.com/store/getreviews"
  params = {
    id: @app_id,
    reviewSortOrder: 0,
    reviewType: 1,
    pageNum: 0,
  }

  (@start_page..@end_page).each do |page|
    params[:pageNum] = page - 1
    client = HTTPClient.new
    content = client.post_content(url, params.to_query)
    review_page = PlayStore::ReviewPage.new content, page
    break unless review_page.items do |item|
      return false if Date.strptime(item[:date], '%Y년 %m월 %d일') < @from_date
      @list << item
      yield item
      true
    end
  end
end