20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/api_document_generator/api_grabber.rb', line 20
def self.add_routes(controllers)
insert_lines = [
" namespace :api do\n",
" end \n"
]
default_actions = ["index", "show", "new", "edit", "create", "delete", "update"]
controllers.each do |k, v|
path = v[:path]
insert_lines.insert(-1, " #{v[:resources] ? ('resources') : ('resource')} :#{path.split("/").last}, only : #{default_actions - v[:exclude_actions]} do\n")
insert_lines.insert(-1, " end\n")
v[:actions].each do |action|
if !default_actions.include?(action[:action])
insert_lines.insert(-2, " #{action[:method].downcase} :#{action[:action]}\n")
end
end
end
File.open(file_name, 'r+') do |f|
routes = f.each_line.to_a
end_line = routes.delete_at(-1)
routes = routes + insert_lines + [end_line]
f.rewind
f.write(routes.join)
end
end
|