thumbs_yup 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/thumbs_yup/review_decorator.rb +34 -32
- data/lib/thumbs_yup/server_embed.rb +2 -2
- data/lib/thumbs_yup/template_renderer.rb +32 -30
- data/lib/thumbs_yup/templates/bubble_hollow.erb +2 -2
- data/lib/thumbs_yup/version.rb +1 -1
- data/thumbs_yup.gemspec +1 -0
- metadata +16 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f1e2e7d3db1c9820e0823a74fc39d28c7be0273f
|
|
4
|
+
data.tar.gz: 2d0e05f76594e52d97f20cdbf162deea22ef2950
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9fbb3c802389fb3c49407039fb666f5d56652be2aa3be4731f2022519739bd91221d20632e135441780b499a5f10f23c038dc797b2bcab45bdfcf33011057967
|
|
7
|
+
data.tar.gz: 252e10ccaf078759fdbd48343249b3cc67673cd15c23625616599ccde1ab9cbdcd4e16ac77407c86fda475f89425eb511ef9af533bfc072df932e473226cad8e
|
|
@@ -1,42 +1,44 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
module ThumbsYup
|
|
2
|
+
class ReviewDecorator
|
|
3
|
+
attr_accessor :review
|
|
4
|
+
|
|
5
|
+
def initialize(vars)
|
|
6
|
+
@review = {
|
|
7
|
+
"body" => vars["body"],
|
|
8
|
+
"full_name" => full_name(vars),
|
|
9
|
+
"title_and_business_name" => title_and_business_name(vars),
|
|
10
|
+
"city_state_and_country" => city_state_and_country(vars),
|
|
11
|
+
}
|
|
12
|
+
@review = clean_vars(@review)
|
|
13
|
+
end
|
|
13
14
|
|
|
14
|
-
|
|
15
|
+
private
|
|
15
16
|
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
def full_name(vars)
|
|
18
|
+
return "Anonymous" unless vars["first_name"] || vars["middle_name"] || vars["last_name"] || vars["business_name"]
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
separator1 = " " if vars["first_name"] && vars["middle_name"]
|
|
21
|
+
separator2 = " " if (vars["first_name"] && vars["last_name"]) || (vars["middle_name"] && vars["last_name"])
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
"#{vars["first_name"]}#{separator1}#{vars["middle_name"]}#{separator2}#{vars["last_name"]}"
|
|
24
|
+
end
|
|
24
25
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
def title_and_business_name(vars)
|
|
27
|
+
separator = ", " if vars["title"] && vars["business_name"]
|
|
28
|
+
"#{vars["title"]}#{separator}#{vars["business_name"]}"
|
|
29
|
+
end
|
|
29
30
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
def city_state_and_country(vars)
|
|
32
|
+
separator1 = ", " if vars["city"] && vars["state"]
|
|
33
|
+
separator2 = ", " if (vars["city"] && vars["country"]) || (vars["state"] && vars["country"])
|
|
34
|
+
"#{vars["city"]}#{separator1}#{vars["state"]}#{separator2}#{vars["country"]}"
|
|
35
|
+
end
|
|
35
36
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
def clean_vars(vars)
|
|
38
|
+
vars.each do |key, value|
|
|
39
|
+
vars[key] ||= ""
|
|
40
|
+
vars[key] = CGI::escapeHTML(vars[key])
|
|
41
|
+
end
|
|
40
42
|
end
|
|
41
43
|
end
|
|
42
44
|
end
|
|
@@ -12,13 +12,13 @@ module ThumbsYup
|
|
|
12
12
|
reviews = review_data["reviews"]
|
|
13
13
|
metadata = review_data["metadata"]
|
|
14
14
|
|
|
15
|
-
html = TemplateRenderer::render_page(
|
|
15
|
+
html = ThumbsYup::TemplateRenderer::render_page(
|
|
16
16
|
settings: settings,
|
|
17
17
|
pagination: pagination(metadata),
|
|
18
18
|
reviews: reviews
|
|
19
19
|
)
|
|
20
20
|
|
|
21
|
-
html.html_safe
|
|
21
|
+
html.respond_to?(:html_safe) ? html.html_safe : html
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
private
|
|
@@ -2,44 +2,46 @@ require 'erb'
|
|
|
2
2
|
require 'ostruct'
|
|
3
3
|
require_relative 'review_decorator'
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
class
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
module ThumbsYup
|
|
6
|
+
class TemplateRenderer < OpenStruct
|
|
7
|
+
class << self
|
|
8
|
+
def render_page(vars)
|
|
9
|
+
vars[:reviews] = reviews_html(vars[:reviews])
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
TemplateRenderer.new(vars).render(page_template)
|
|
12
|
+
end
|
|
12
13
|
|
|
13
|
-
|
|
14
|
+
private
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
def reviews_html(reviews)
|
|
17
|
+
reviews.reduce("") do |acc, review|
|
|
18
|
+
acc << render_review(review)
|
|
19
|
+
end
|
|
18
20
|
end
|
|
19
|
-
end
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
def render_review(vars)
|
|
23
|
+
vars = ThumbsYup::ReviewDecorator.new(vars).review
|
|
24
|
+
TemplateRenderer.new(vars).render(review_template)
|
|
25
|
+
end
|
|
25
26
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
27
|
+
def review_template
|
|
28
|
+
style = ThumbsYup.configuration.review_style
|
|
29
|
+
background = ThumbsYup.configuration.review_background
|
|
30
|
+
template_file = style + "_" + background + ".erb"
|
|
31
|
+
File.read(
|
|
32
|
+
File.join(File.dirname(__FILE__), 'templates', template_file)
|
|
33
|
+
)
|
|
34
|
+
end
|
|
34
35
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
def page_template
|
|
37
|
+
File.read(
|
|
38
|
+
File.join(File.dirname(__FILE__), 'reviews.erb')
|
|
39
|
+
)
|
|
40
|
+
end
|
|
39
41
|
end
|
|
40
|
-
end
|
|
41
42
|
|
|
42
|
-
|
|
43
|
-
|
|
43
|
+
def render(template)
|
|
44
|
+
ERB.new(template).result(binding)
|
|
45
|
+
end
|
|
44
46
|
end
|
|
45
47
|
end
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
<%= body %>
|
|
4
4
|
</div>
|
|
5
5
|
<p class="signature">
|
|
6
|
-
<%= full_name %><% unless full_name.
|
|
7
|
-
<%= title_and_business_name %><% unless title_and_business_name.
|
|
6
|
+
<%= full_name %><% unless full_name.empty? %><br><% end %>
|
|
7
|
+
<%= title_and_business_name %><% unless title_and_business_name.empty? %><br><% end %>
|
|
8
8
|
<%= city_state_and_country %>
|
|
9
9
|
</p>
|
|
10
10
|
</div>
|
data/lib/thumbs_yup/version.rb
CHANGED
data/thumbs_yup.gemspec
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: thumbs_yup
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jomana Malone
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: exe
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2017-05-
|
|
12
|
+
date: 2017-05-22 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: bundler
|
|
@@ -53,6 +53,20 @@ dependencies:
|
|
|
53
53
|
- - "~>"
|
|
54
54
|
- !ruby/object:Gem::Version
|
|
55
55
|
version: '3.0'
|
|
56
|
+
- !ruby/object:Gem::Dependency
|
|
57
|
+
name: pry
|
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
|
59
|
+
requirements:
|
|
60
|
+
- - ">="
|
|
61
|
+
- !ruby/object:Gem::Version
|
|
62
|
+
version: '0'
|
|
63
|
+
type: :development
|
|
64
|
+
prerelease: false
|
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
66
|
+
requirements:
|
|
67
|
+
- - ">="
|
|
68
|
+
- !ruby/object:Gem::Version
|
|
69
|
+
version: '0'
|
|
56
70
|
description: Creates the HTML, styling, javascript and review data necessary to embed
|
|
57
71
|
reviews in a website.
|
|
58
72
|
email:
|