class Radical::Routes

Public Class Methods

parents() click to toggle source
# File lib/radical/routes.rb, line 16
def parents
  @parents ||= []
end
resource(*names) click to toggle source
# File lib/radical/routes.rb, line 28
def resource(*names)
  classes = names.map { |c| Object.const_get(c) }

  classes.each do |klass|
    router.add_resource(klass)
  end
end
resources(*names, &block) click to toggle source
# File lib/radical/routes.rb, line 37
def resources(*names, &block)
  classes = names.map { |c| Object.const_get(c) }

  classes.each do |klass|
    if parents.any?
      router.add_resources(klass, parents: @parents)

      # only one level of nesting
      @parents = []
    else
      router.add_resources(klass)
    end
  end

  return unless block

  @parents = classes

  block.call
end
root(name) click to toggle source
# File lib/radical/routes.rb, line 21
def root(name)
  klass = Object.const_get(name)

  router.add_root(klass)
end
router() click to toggle source
# File lib/radical/routes.rb, line 12
def router
  @router ||= Router.new
end