Sha256: 03ea5e9f7377959e7bbe7f8cfa7f5498e98321fae598b0a39d8495f21021974e
Contents?: true
Size: 1.41 KB
Versions: 3
Compression:
Stored size: 1.41 KB
Contents
#************************************************************************************* # Builder will help build a string of html output. #************************************************************************************* class NeatPages::Helpers::Builder attr_reader :pagination delegate :per_page, to: :pagination delegate :total_items, to: :pagination def initialize(pagination, request) @pagination = pagination @base_url = generate_base_url_from_request(request) @params = request.env['action_dispatch.request.query_parameters'] @params.delete('utf8') reset_builder end def b(str='') @builder << str @builder.html_safe end def li(content, css_class='', options={}) options = { hidden: false }.merge(options) attributes = ' class="' + css_class + '"' if not css_class.empty? attributes << ' style="display:none"' if options[:hidden] b "<li#{attributes}>#{content}</li>" end def path_to(page) qs = @params.map { |k,v| "#{k}=#{v}" if k != 'page' }.compact.join('&') "#{@base_url}?#{qs}" + (qs.empty? ? '' : '&') + "page=#{page}" end def reset_builder @builder = '' end def t(text_path) (defined? I18n) ? I18n.t("neat_pages.#{text_path}") : text_path end private def generate_base_url_from_request(request) "#{request.protocol}#{request.host}#{request.port == 80 ? '' : ':' + request.port.to_s}#{request.path_info}" end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
neat-pages-1.0.2 | lib/neat_pages/helpers/builder.rb |
neat-pages-1.0.1 | lib/neat_pages/helpers/builder.rb |
neat-pages-1.0.0 | lib/neat_pages/helpers/builder.rb |