Class: AppRoutes::ApplicationRoutes

Inherits:
Object
  • Object
show all
Defined in:
lib/app_routes/application_routes.rb

Instance Method Summary collapse

Constructor Details

#initializeApplicationRoutes

Returns a new instance of ApplicationRoutes.



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/app_routes/application_routes.rb', line 5

def initialize
  @routes = []

  Rails.application.routes.routes.map do |r|
    route = {
      url: r.defaults[:controller],
      controller: r.defaults[:controller],
      action: r.defaults[:action],
      method: r.verb
    }
    # rotta_finale = {
    #   controller: r.defaults[:controller],
    #   action: r.defaults[:action]
    # }
    # check = rotta[:controller]
    # verb = rotta[:method]
    # action = rotta[:action]
    # if check && verb != 'PATCH' && action != 'new' && action != 'edit'
    #   @routes.push(rotta_finale) if check.include? 'api/v1'
    # end

    @routes.push(route)
  end
  generate_routes
end

Instance Method Details

#callObject



31
32
33
# File 'lib/app_routes/application_routes.rb', line 31

def call
  @routes.group_by { |n| n[:controller] }.each { |_k, v| v.uniq! }
end

#generate_routesObject



35
36
37
38
39
40
41
42
# File 'lib/app_routes/application_routes.rb', line 35

def generate_routes
  puts 'Populating permissions_table with routes of the application' if Rails.env == 'development'
  Permission.destroy_all
  @routes.each do |k|
    Permission.create!(controller: k[:controller], action: k[:action])
  end
  puts 'Done!' if Rails.env == 'development'
end