3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/paged_scopes/resources.rb', line 3
def resources_with_paged(*entities, &block)
options = entities.
if page_options = options.delete(:paged)
resources_without_paged(*(entities.dup << options), &block)
page_options = {} unless page_options.is_a? Hash
page_name = page_options.delete(:name)
page_options.slice!(:as, :name)
page_options.merge!(:only => :none)
preserved_options = ActionController::Resources::INHERITABLE_OPTIONS + [ :name_prefix, :path_prefix ]
with_options(options.slice(*preserved_options)) do |map|
map.resources_without_paged(page_name || :pages, page_options) do |page|
page.resources(*(entities.dup << { :only => :index }))
end
end
else
resources_without_paged(*(entities << options), &block)
end
end
|