Class: AndroidReviews
- Defined in:
- lib/android_reviews.rb,
lib/android_reviews/version.rb,
lib/android_reviews/throttled_error.rb
Defined Under Namespace
Classes: ThrottledError
Constant Summary collapse
- URL =
"https://play.google.com/store/getreviews?authuser=0"
- DEFAULT_USER_AGENT =
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36"
- VERSION =
"0.1.0"
Instance Attribute Summary collapse
-
#language ⇒ Object
Returns the value of attribute language.
-
#pages_per_minute ⇒ Object
Returns the value of attribute pages_per_minute.
-
#review_sort_order ⇒ Object
Returns the value of attribute review_sort_order.
-
#review_type ⇒ Object
Returns the value of attribute review_type.
-
#user_agent ⇒ Object
Returns the value of attribute user_agent.
Instance Method Summary collapse
- #each_review ⇒ Object
-
#initialize(app_id, pages_per_minute: 6, language: 'en', user_agent: DEFAULT_USER_AGENT) ⇒ AndroidReviews
constructor
A new instance of AndroidReviews.
- #reviews ⇒ Object
Constructor Details
#initialize(app_id, pages_per_minute: 6, language: 'en', user_agent: DEFAULT_USER_AGENT) ⇒ AndroidReviews
Returns a new instance of AndroidReviews.
13 14 15 16 17 18 19 20 |
# File 'lib/android_reviews.rb', line 13 def initialize(app_id, pages_per_minute: 6, language: 'en', user_agent: DEFAULT_USER_AGENT) @app_id = app_id @pages_per_minute = pages_per_minute @language = language @user_agent = user_agent @review_sort_order = 0 @review_type = 0 end |
Instance Attribute Details
#language ⇒ Object
Returns the value of attribute language.
8 9 10 |
# File 'lib/android_reviews.rb', line 8 def language @language end |
#pages_per_minute ⇒ Object
Returns the value of attribute pages_per_minute.
8 9 10 |
# File 'lib/android_reviews.rb', line 8 def pages_per_minute @pages_per_minute end |
#review_sort_order ⇒ Object
Returns the value of attribute review_sort_order.
8 9 10 |
# File 'lib/android_reviews.rb', line 8 def review_sort_order @review_sort_order end |
#review_type ⇒ Object
Returns the value of attribute review_type.
8 9 10 |
# File 'lib/android_reviews.rb', line 8 def review_type @review_type end |
#user_agent ⇒ Object
Returns the value of attribute user_agent.
8 9 10 |
# File 'lib/android_reviews.rb', line 8 def user_agent @user_agent end |
Instance Method Details
#each_review ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/android_reviews.rb', line 22 def each_review count = 0 current_page = 0 while body = fetch(current_page) body.gsub!(/^\)\]\}\'/, '') parsed = JSON.parse(body) html = parsed[0][2] html_doc = Nokogiri::HTML(html) html_doc.css('.single-review').each do |node| count += 1 review = review_from_node(node) yield review end # review loop current_page += 1 throttle_sleep end # page loop count end |
#reviews ⇒ Object
45 46 47 48 49 50 51 |
# File 'lib/android_reviews.rb', line 45 def reviews reviews = [] each_review do |r| reviews << r end reviews end |