more explicit and versatile usage of avatar_image, changing style option by a direct size - asuming we will always use square images

This commit is contained in:
David Gil
2015-08-12 18:27:40 +02:00
parent 925921d605
commit bf95e55345
4 changed files with 6 additions and 17 deletions

View File

@@ -1,22 +1,11 @@
module UsersHelper
def avatar_image(user, options = {})
style = options.fetch(:style) { :small }
size = options.fetch(:size) { 100 }
klass = options.fetch(:class) { '' }
round_corners = options.fetch(:round_corners) { true }
data_attributes = case style
when :profile
{ height: 100, width: 100 }
when :small
{ height: 32, width: 32, "font-size" => 20 }
else
{}
end
if round_corners
radius = (data_attributes[:height].to_i * 0.13).round
data_attributes.merge!(radius: radius)
end
data_attributes = { height: size, width: size, "font-size" => (size * 0.6) }
data_attributes.merge!(radius: (size * 0.13).round) if round_corners
data_attributes.merge!(name: user.name)
content_tag :img, nil, class: "avatar #{klass}", data: data_attributes