Sha256: 48ba0affb19de4f6e9df1cac87e566ea3e6c5c160e21efaea60b1e381ff5e8a8

Contents?: true

Size: 981 Bytes

Versions: 33

Compression:

Stored size: 981 Bytes

Contents

require 'sinatra/base'
require 'will_paginate/view_helpers'
require 'will_paginate/view_helpers/link_renderer'

module WillPaginate
  module Sinatra
    module Helpers
      include ViewHelpers

      def will_paginate(collection, options = {}) #:nodoc:
        options = options.merge(:renderer => LinkRenderer) unless options[:renderer]
        super(collection, options)
      end
    end

    class LinkRenderer < ViewHelpers::LinkRenderer
      protected

      def url(page)
        str = File.join(request.script_name.to_s, request.path_info)
        params = request.GET.merge(param_name.to_s => page.to_s)
        params.update @options[:params] if @options[:params]
        str << '?' << build_query(params)
      end

      def request
        @template.request
      end

      def build_query(params)
        Rack::Utils.build_nested_query params
      end
    end

    def self.registered(app)
      app.helpers Helpers
    end

    ::Sinatra.register self
  end
end

Version data entries

33 entries across 32 versions & 5 rubygems

Version Path
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.1.0/gems/will_paginate-4.0.1/lib/will_paginate/view_helpers/sinatra.rb
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.3.0/gems/will_paginate-4.0.1/lib/will_paginate/view_helpers/sinatra.rb
will_paginate-4.0.1 lib/will_paginate/view_helpers/sinatra.rb
will_paginate-4.0.0 lib/will_paginate/view_helpers/sinatra.rb
will_paginate-3.3.1 lib/will_paginate/view_helpers/sinatra.rb
will_paginate-3.3.0 lib/will_paginate/view_helpers/sinatra.rb
will_paginate-3.2.1 lib/will_paginate/view_helpers/sinatra.rb
will_paginate-3.2.0 lib/will_paginate/view_helpers/sinatra.rb
will_paginate-3.1.8 lib/will_paginate/view_helpers/sinatra.rb
will_paginate-3.1.7 lib/will_paginate/view_helpers/sinatra.rb
will_paginate-3.1.6 lib/will_paginate/view_helpers/sinatra.rb
will_paginate-3.0.12 lib/will_paginate/view_helpers/sinatra.rb
will_paginate-3.1.5 lib/will_paginate/view_helpers/sinatra.rb
will_paginate-3.0.11 lib/will_paginate/view_helpers/sinatra.rb
will_paginate-3.1.3 lib/will_paginate/view_helpers/sinatra.rb
will_paginate-3.0.10 lib/will_paginate/view_helpers/sinatra.rb
will_paginate-3.0.9 lib/will_paginate/view_helpers/sinatra.rb
will_paginate-3.1.2 lib/will_paginate/view_helpers/sinatra.rb
will_paginate-3.1.1 lib/will_paginate/view_helpers/sinatra.rb
will_paginate-3.0.8 lib/will_paginate/view_helpers/sinatra.rb