Module: Tenon::ApplicationHelper
- Defined in:
- app/helpers/tenon/application_helper.rb
Instance Method Summary collapse
-
#first_image(obj, options = {}) ⇒ Object
eg.
- #html(options = {}, &blk) ⇒ Object
- #menu_item(title, link, options = {}) ⇒ Object
- #route_exist?(thing) ⇒ Boolean
- #seo_meta_tags ⇒ Object
- #table_row(*args) ⇒ Object
- #thisicon(icon) ⇒ Object
Instance Method Details
#first_image(obj, options = {}) ⇒ Object
eg. first_image(@product)
41 42 43 44 45 46 47 48 49 50 51 |
# File 'app/helpers/tenon/application_helper.rb', line 41 def first_image(obj, = {}) opts = { collection: :images, method: :image, style: :thumbnail, default: image_path('noimage.jpg') }.merge(.symbolize_keys!) image = obj.send(opts[:collection]).first image ? image.send(opts[:method]).url(opts[:style]) : opts[:default] end |
#html(options = {}, &blk) ⇒ Object
53 54 55 56 57 58 59 60 61 |
# File 'app/helpers/tenon/application_helper.rb', line 53 def html( = {}, &blk) .recursive_symbolize_keys! open = h5bp_opening_tag([:ie_versions]) body = capture_haml(&blk) close = '</html>'.html_safe open + body + close end |
#menu_item(title, link, options = {}) ⇒ Object
7 8 9 10 11 12 13 14 |
# File 'app/helpers/tenon/application_helper.rb', line 7 def (title, link, = {}) klass = '' # set the link class to active if it matches the current link or any of the alternate supplied links [:alt_links].each { |a| klass = request.fullpath.match(a) ? 'active' : '' unless klass == 'active' } if [:alt_links].is_a?(Array) klass = 'active' if link == request.fullpath klass += " #{[:class]}" unless [:class].blank? link_to(title, link, class: klass) end |
#route_exist?(thing) ⇒ Boolean
63 64 65 66 67 |
# File 'app/helpers/tenon/application_helper.rb', line 63 def route_exist?(thing) main_app.polymorphic_path(thing) rescue NoMethodError false end |
#seo_meta_tags ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'app/helpers/tenon/application_helper.rb', line 26 def obj = instance_variable_get("@#{params[:controller].singularize}") = [] if obj if obj.respond_to?(:seo_keywords) && !obj.seo_keywords.blank? << tag(:meta, name: 'keywords', content: obj.seo_keywords) end if obj.respond_to?(:seo_description) && !obj.seo_description.blank? << tag(:meta, name: 'description', content: obj.seo_description) end end .join end |
#table_row(*args) ⇒ Object
16 17 18 19 20 21 22 23 24 |
# File 'app/helpers/tenon/application_helper.rb', line 16 def table_row(*args) html = '<tr>' args.each_with_index do |cell, i| html += "<td class='cell-#{i + 1}'>#{cell}</td>" end html += '</tr>\n' html.html_safe end |
#thisicon(icon) ⇒ Object
3 4 5 |
# File 'app/helpers/tenon/application_helper.rb', line 3 def thisicon(icon) content_tag(:i, icon, class: 'material-icon') end |