class ThumbsYup::ReviewDecorator
Attributes
review[RW]
Public Class Methods
new(vars)
click to toggle source
# File lib/thumbs_yup/review_decorator.rb, line 5 def initialize(vars) @review = { "body" => formatted_body(vars), "full_name" => full_name(vars), "title_and_business_name" => title_and_business_name(vars), "city_state_and_country" => city_state_and_country(vars), } @review = clean_vars(@review) end
Private Instance Methods
city_state_and_country(vars)
click to toggle source
# File lib/thumbs_yup/review_decorator.rb, line 35 def city_state_and_country(vars) separator1 = ", " if vars["city"] && vars["state"] separator2 = ", " if (vars["city"] && vars["country"]) || (vars["state"] && vars["country"]) "#{vars["city"]}#{separator1}#{vars["state"]}#{separator2}#{vars["country"]}" end
clean_vars(vars)
click to toggle source
# File lib/thumbs_yup/review_decorator.rb, line 41 def clean_vars(vars) vars.each do |key, value| vars[key] ||= "" vars[key] = if (key == "body") vars["body"].split("<br>").map { |section| CGI::escapeHTML(section) }.join("<br>") else CGI::escapeHTML(vars[key]) end end end
formatted_body(vars)
click to toggle source
# File lib/thumbs_yup/review_decorator.rb, line 17 def formatted_body(vars) vars["body"].gsub(%r(\n), "<br><br>") end
full_name(vars)
click to toggle source
# File lib/thumbs_yup/review_decorator.rb, line 21 def full_name(vars) return "Anonymous" unless vars["first_name"] || vars["middle_name"] || vars["last_name"] || vars["business_name"] separator1 = " " if vars["first_name"] && vars["middle_name"] separator2 = " " if (vars["first_name"] && vars["last_name"]) || (vars["middle_name"] && vars["last_name"]) "#{vars["first_name"]}#{separator1}#{vars["middle_name"]}#{separator2}#{vars["last_name"]}" end
title_and_business_name(vars)
click to toggle source
# File lib/thumbs_yup/review_decorator.rb, line 30 def title_and_business_name(vars) separator = ", " if vars["title"] && vars["business_name"] "#{vars["title"]}#{separator}#{vars["business_name"]}" end