1 2 3 4 5 6 7 8 9 10 11 12 13
<div class="vcard company"> <h3 class="org fn"><%=h company.name %></h3> <% if company.business_address %> <div class="adr"> <% if !company.business_address.street.blank? %><div class="street-address"><%=h company.business_address.street %></div><% end %> <% if !company.business_address.locality.blank? %><span class="locality"><%=h company.business_address.locality %></span><% end %><% if !company.business_address.locality.blank? && !company.business.region %>,<% end %> <% if !company.business_address.region.blank? %><span class="region"><%=h company.business_address.region %></span><% end %> <% if !company.business_address.postal_code.blank? %><span class="postal-code"><%=h company.business_address.postal_code %></span><% end %> <% if !company.business_address.country.blank? %><div class="country-name"><%=h company.business_address.country %></div><% end %> </div> <% end %> <% if !company.business_telephone_number.blank? %><div><strong>Phone:</strong> <span class="tel"><%=h company.business_telephone_number %></span></div><% end %> </div>
Refactorings
No refactoring yet !
Maciej Piechotka
July 3, 2008, July 03, 2008 14:10, permalink
The simple refactoring
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
# In helper: def vcard_div(klass, value) if value.blank? "" else "<div class=#{klass}>#{h value}</div>" end end # In program <div class="vcard company"> <h3 class="org fn"><%=h company.name %></h3> <% if company.business_address %> <div class="adr"> <% { :street => 'street-address', :locality => 'locality', :region => 'region', :postal_code => 'postal-code', :country => 'country-name', }.each do |value, klass| %> <%= vcard_div klass, company.business_address.call(value) %> <% end %> </div> <% end %> <% unless company.business_telephone_number.blank? -%> <div> <strong>Phone:</strong> <span class="tel"> <%=h company.business_telephone_number %> </span> </div> <% end %> </div>
Looking for a better way to build an hCard microformat partial that only shows completed data