Class: ActionDispatch::Routing::Mapper

Inherits:
Object
  • Object
show all
Defined in:
lib/semi_static/rails/routes.rb

Instance Method Summary collapse

Instance Method Details

#semi_static_for(resource, args = {}) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
# File 'lib/semi_static/rails/routes.rb', line 3

def semi_static_for(resource, args = {})
  resource_as_class = resource.to_s.classify.constantize
  c = lambda {|r| r.env["semi_static.mapping"] = resource_as_class ; true }
  defaults = { :only => [ :index, :show ]}
  if resource_as_class < SemiStatic::News
    defaults[:id] = /([0-9]+\/){3}.+/
    defaults[:controller] = "semi_static/news"
  else
    defaults[:controller] = "semi_static/page"
  end
  constraints(c) { resources(resource, defaults.merge(args)) }
end