class Administrate::Namespace

Attributes

namespace[R]

Public Class Methods

new(namespace) click to toggle source
# File lib/administrate/namespace.rb, line 3
def initialize(namespace)
  @namespace = namespace.to_sym
end

Public Instance Methods

resources() click to toggle source
# File lib/administrate/namespace.rb, line 7
def resources
  @resources ||= routes.map(&:first).uniq.map do |path|
    Resource.new(namespace, path)
  end
end
resources_with_index_route() click to toggle source
# File lib/administrate/namespace.rb, line 21
def resources_with_index_route
  routes.select { |_resource, route| route == "index" }.map(&:first).uniq
end
routes() click to toggle source
# File lib/administrate/namespace.rb, line 13
def routes
  @routes ||= all_routes.select do |controller, _action|
    controller.starts_with?("#{namespace}/")
  end.map do |controller, action|
    [controller.gsub(/^#{namespace}\//, ""), action]
  end
end

Private Instance Methods

all_routes() click to toggle source
# File lib/administrate/namespace.rb, line 29
def all_routes
  Rails.application.routes.routes.map do |route|
    route.defaults.values_at(:controller, :action).map(&:to_s)
  end
end