neo_doxygen: Remove an outdated comment.
[nit.git] / contrib / github_merge.nit
index 3a056ad..0d5e052 100644 (file)
@@ -20,25 +20,25 @@ import template
 
 redef class Object
        # Factorize cast
-       fun json_as_a: Array[nullable Object] do return self.as(Array[nullable Object])
+       fun json_as_a: JsonArray do return self.as(JsonArray)
        # Factorize cast
-       fun json_as_map: Map[String, nullable Object] do return self.as(Map[String, nullable Object])
+       fun json_as_map: JsonObject do return self.as(JsonObject)
 end
 
 redef class GithubCurl
        # Get a given pull request (PR)
-       fun getpr(number: Int): Map[String, nullable Object]
+       fun getpr(number: Int): JsonObject
        do
                var pr = get_and_check("https://api.github.com/repos/privat/nit/pulls/{number}")
                var prm = pr.json_as_map
-               var sha = prm["head"].json_as_map["sha"]
+               var sha = prm["head"].json_as_map["sha"].to_s
                var statuses = get_and_check("https://api.github.com/repos/privat/nit/statuses/{sha}")
                prm["statuses"] = statuses
-               print "{prm["title"]}: by {prm["user"].json_as_map["login"]} (# {prm["number"]})"
-               print "\tmergable: {prm["mergeable"]}"
+               print "{prm["title"].to_s}: by {prm["user"].json_as_map["login"].to_s} (# {prm["number"].to_s})"
+               print "\tmergable: {prm["mergeable"].to_s}"
                var st = prm["statuses"].json_as_a
                if not st.is_empty then
-                       print "\tstatus: {st[0].json_as_map["state"]}"
+                       print "\tstatus: {st[0].json_as_map["state"].to_s}"
                else
                        print "\tstatus: not tested"
                end
@@ -46,7 +46,7 @@ redef class GithubCurl
        end
 
        # Get reviewers of a PR
-       fun getrev(pr: Map[String, nullable Object]): Array[String]
+       fun getrev(pr: JsonObject): Array[String]
        do
                var number = pr["number"].as(Int)
                var user = pr["user"].json_as_map["login"].as(String)
@@ -67,7 +67,7 @@ redef class GithubCurl
                                print "No public name for user {l}"
                                continue
                        end
-                       var r = "{u["name"]} <{u["email"]}>"
+                       var r = "{u["name"].to_s} <{u["email"].to_s}>"
                        res.add r
 
                end
@@ -102,9 +102,9 @@ else
        var revs = curl.getrev(pr)
 
        var mergemsg = new Template
-       mergemsg.add "Merge: {pr["title"]}\n\n"
-       mergemsg.add "{pr["body"]}\n\n"
-       mergemsg.add "Pull-Request: #{pr["number"]}\n"
+       mergemsg.add "Merge: {pr["title"].to_s}\n\n"
+       mergemsg.add "{pr["body"].to_s}\n\n"
+       mergemsg.add "Pull-Request: #{pr["number"].to_s}\n"
        for r in revs do
                mergemsg.add "Reviewed-by: {r}\n"
        end