Skip to content

Commit 7f18cc4

Browse files
committed
Tag rails routes
Signed-off-by: Prabhu Subramanian <prabhu@appthreat.com>
1 parent 1037e42 commit 7f18cc4

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

platform/frontends/x2cpg/src/main/scala/io/appthreat/x2cpg/passes/taggers/ChennaiTagsPass.scala

+12
Original file line numberDiff line numberDiff line change
@@ -119,12 +119,24 @@ class ChennaiTagsPass(atom: Cpg) extends CpgPass(atom):
119119
).store()(dstGraph)
120120
}
121121
end tagPhpRoutes
122+
private def tagRubyRoutes(dstGraph: DiffGraphBuilder): Unit =
123+
atom.method.where(
124+
_.filename("config/routes.rb").code(
125+
".*(get|post|put|delete|head|option|resources|namespace).*"
126+
)
127+
).newTagNode(
128+
FRAMEWORK_ROUTE
129+
).store()(dstGraph)
130+
atom.method.filename(".*controller.rb.*").parameter.newTagNode(FRAMEWORK_INPUT).store()(
131+
dstGraph
132+
)
122133
override def run(dstGraph: DiffGraphBuilder): Unit =
123134
if language == Languages.PYTHON || language == Languages.PYTHONSRC then
124135
tagPythonRoutes(dstGraph)
125136
if language == Languages.NEWC || language == Languages.C then
126137
tagCRoutes(dstGraph)
127138
if language == Languages.PHP then tagPhpRoutes(dstGraph)
139+
if language == Languages.RUBYSRC then tagRubyRoutes(dstGraph)
128140
atom.configFile("chennai.json").content.foreach { cdxData =>
129141
val ctagsJson = parse(cdxData).getOrElse(Json.Null)
130142
val cursor: HCursor = ctagsJson.hcursor

0 commit comments

Comments
 (0)