Class: Rating

Inherits:
Object
  • Object
show all
Includes:
ActiveModel::Serialization
Defined in:
app/models/rating.rb

Overview

Read-only view of a Reviews.io product review summary (average stars,
review count, individual reviews) keyed off the underlying object's
cache key so the public site can render star badges without coupling
the view to the upstream API shape.

Instance Attribute Summary collapse

Delegated Instance Attributes collapse

Instance Method Summary collapse

Constructor Details

#initialize(product_review_info, object = nil) ⇒ Rating

Returns a new instance of Rating.



13
14
15
16
# File 'app/models/rating.rb', line 13

def initialize(product_review_info, object = nil)
  @product_review_info = product_review_info
  @object = object
end

Instance Attribute Details

#objectObject (readonly)

Returns the value of attribute object.



9
10
11
# File 'app/models/rating.rb', line 9

def object
  @object
end

Instance Method Details

#avg_starsObject



18
19
20
# File 'app/models/rating.rb', line 18

def avg_stars
  @product_review_info[:star_avg]
end

#cache_keyObject

Alias for Object#cache_key

Returns:

  • (Object)

    Object#cache_key

See Also:



11
# File 'app/models/rating.rb', line 11

delegate :cache_key, to: :object

#product_reviewsObject



26
27
28
# File 'app/models/rating.rb', line 26

def product_reviews
  @product_review_info[:reviews]
end

#review_countObject



22
23
24
# File 'app/models/rating.rb', line 22

def review_count
  @product_review_info[:num]
end