class DatePaginate::Helpers::Paginator
Constants
- PARAM_KEY_BLACKLIST
Public Class Methods
new(template, options)
click to toggle source
# File lib/date_paginate/helpers/paginator.rb, line 16 def initialize(template, options) options[:num_pages] ||= DatePaginate.config.default_num_pages unless options[:date_paginate_type].in? self.class.paginate_type_list options[:date_paginate_type] = DatePaginate.config.default_paginate_type end @template, @options = template, options @date_paginate_type = @options.delete(:date_paginate_type) @num_pages = @options.delete(:num_pages) @options["recent_#{@date_paginate_type}".to_sym] = send("recent_#{@date_paginate_type}") @params = template.params.except(*PARAM_KEY_BLACKLIST).merge(@options.delete(:params) || {}) end
paginate_type_list()
click to toggle source
# File lib/date_paginate/helpers/paginator.rb, line 12 def self.paginate_type_list [:days, :weeks, :months] end
Public Instance Methods
partial_path()
click to toggle source
# File lib/date_paginate/helpers/paginator.rb, line 45 def partial_path [ "date_paginate", "paginate_#{@date_paginate_type}", ].compact.join("/") end
to_s(locals = {})
click to toggle source
# File lib/date_paginate/helpers/paginator.rb, line 58 def to_s(locals = {}) locals = @options.merge(params: @params).merge(locals) @template.render :partial => partial_path, :locals => locals, :formats => [:html] end
Private Instance Methods
method_missing(name, *args, &block)
click to toggle source
delegates view helper methods to @template
Calls superclass method
# File lib/date_paginate/helpers/paginator.rb, line 53 def method_missing(name, *args, &block) @template.respond_to?(name) ? @template.send(name, *args, &block) : super end