Class: Terrazzo::Namespace

Inherits:
Object
  • Object
show all
Defined in:
lib/terrazzo/namespace.rb,
lib/terrazzo/namespace/resource.rb

Defined Under Namespace

Classes: Resource

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, router = Rails.application.routes.router) ⇒ Namespace

Returns a new instance of Namespace.



7
8
9
10
# File 'lib/terrazzo/namespace.rb', line 7

def initialize(name, router = Rails.application.routes.router)
  @name = name.to_sym
  @router = router
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



5
6
7
# File 'lib/terrazzo/namespace.rb', line 5

def name
  @name
end

#routerObject (readonly)

Returns the value of attribute router.



5
6
7
# File 'lib/terrazzo/namespace.rb', line 5

def router
  @router
end

Instance Method Details

#resourcesObject



12
13
14
15
16
# File 'lib/terrazzo/namespace.rb', line 12

def resources
  routes_for_namespace.map do |route|
    Resource.new(route)
  end.uniq(&:resource_name)
end

#resources_with_index_routeObject



18
19
20
21
22
# File 'lib/terrazzo/namespace.rb', line 18

def resources_with_index_route
  routes_for_namespace.select do |route|
    route.defaults[:action] == "index"
  end.map { |route| Resource.new(route) }.uniq(&:controller_path)
end