module Feefo

Constants

VERSION

Public Class Methods

config() click to toggle source
# File lib/feefo.rb, line 8
def self.config
  @config
end
config=(config) click to toggle source
# File lib/feefo.rb, line 12
def self.config=(config)
  @config = {
    name: config['name'],
    logon: config['logon'],
    division: config['division'],
    time_to_cache_reviews: config['time_to_cache_reviews'],
    review_limit: config['review_limit']
  }
end
review_badge_image(filters) click to toggle source
# File lib/feefo.rb, line 29
def self.review_badge_image(filters)
  logon          = configEncode(:logon)
  division       = configEncode(:division)
  code           = filters[:code]
  category       = filters[:category]
  base_image_url = "https://www.feefo.com/feefo/feefologo.jsp?logon=#{logon}/#{division}"
  category_part  = category ? "/#{category}"       : ''
  code_part      = code     ? "&vendorref=#{code}" : ''
  image_template = "&template=product-stars-grey-150x38_en.png"
  return '' unless category || code
  base_image_url + category_part + code_part + image_template
end
review_base_url() click to toggle source
# File lib/feefo.rb, line 22
def self.review_base_url
  name     = configEncode(:name)
  logon    = configEncode(:logon)
  division = configEncode(:division)
  "https://www.feefo.com/reviews/#{name}/?logon=#{logon}/#{division}"
end
review_for_code(filters) click to toggle source
# File lib/feefo.rb, line 42
def self.review_for_code(filters)
  fetcher = ReviewFetcher.new(filters)
  data = JSON.parse(fetcher.fetch_reviews_json)
  Feefo::Reviews.new(data)
rescue JSON::ParserError => e
  nil
end

Private Class Methods

configEncode(key) click to toggle source
# File lib/feefo.rb, line 52
def self.configEncode(key)
  URI.encode(config.fetch(key))
end